2023-10-02 14:19:22 -04:00
|
|
|
/*
|
|
|
|
Copyright (C) 2023 Bernd Herzog
|
2024-02-11 15:25:00 -05:00
|
|
|
Copyright (C) 2024 Mark Thompson
|
2023-10-02 14:19:22 -04:00
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
MEMORY
|
|
|
|
{
|
2024-02-11 15:25:00 -05:00
|
|
|
/*
|
|
|
|
* External apps: regions can't overlap so addresses are corrected after build.
|
|
|
|
* Picking uncommon address values for search & replace in binaries (no false positives) - 0xADB00000-0xADEF0000 seems to be good.
|
|
|
|
* Also need to consider processor memory map - reading 0xADxxxxxx generates a fault which may be better than unexpected behavior.
|
|
|
|
* External app address ranges below must match those in python file "external_app_info.py".
|
|
|
|
*/
|
|
|
|
ram_external_app_afsk_rx (rwx) : org = 0xADB10000, len = 32k
|
|
|
|
ram_external_app_calculator (rwx) : org = 0xADB20000, len = 32k
|
|
|
|
ram_external_app_font_viewer(rwx) : org = 0xADB30000, len = 32k
|
|
|
|
ram_external_app_blespam(rwx) : org = 0xADB40000, len = 32k
|
|
|
|
ram_external_app_analogtv(rwx) : org = 0xADB50000, len = 32k
|
|
|
|
ram_external_app_nrf_rx(rwx) : org = 0xADB60000, len = 32k
|
|
|
|
ram_external_app_coasterp(rwx) : org = 0xADB70000, len = 32k
|
|
|
|
ram_external_app_lge(rwx) : org = 0xADB80000, len = 32k
|
|
|
|
ram_external_app_lcr(rwx) : org = 0xADB90000, len = 32k
|
|
|
|
ram_external_app_jammer(rwx) : org = 0xADBA0000, len = 32k
|
|
|
|
ram_external_app_gpssim(rwx) : org = 0xADBB0000, len = 32k
|
|
|
|
ram_external_app_spainter(rwx) : org = 0xADBC0000, len = 32k
|
|
|
|
ram_external_app_keyfob(rwx) : org = 0xADBD0000, len = 32k
|
|
|
|
ram_external_app_tetris(rwx) : org = 0xADBE0000, len = 32k
|
2024-03-07 11:22:24 -05:00
|
|
|
ram_external_app_extsensors(rwx) : org = 0xADBF0000, len = 32k
|
2024-03-19 16:33:53 -04:00
|
|
|
ram_external_app_foxhunt_rx(rwx) : org = 0xADC00000, len = 32k
|
2024-03-22 06:10:16 -04:00
|
|
|
ram_external_app_audio_test(rwx) : org = 0xADC10000, len = 32k
|
2024-03-28 20:25:23 -04:00
|
|
|
ram_external_app_wardrivemap(rwx) : org = 0xADC20000, len = 32k
|
2024-04-29 07:30:21 -04:00
|
|
|
ram_external_app_tpmsrx(rwx) : org = 0xADC30000, len = 32k
|
2024-07-29 01:45:56 -04:00
|
|
|
ram_external_app_protoview(rwx) : org = 0xADC40000, len = 32k
|
2024-08-09 17:47:08 -04:00
|
|
|
ram_external_app_adsbtx(rwx) : org = 0xADC50000, len = 32k
|
2024-09-20 05:59:17 -04:00
|
|
|
ram_external_app_morse_tx(rwx) : org = 0xADC60000, len = 32k
|
2024-09-20 09:41:44 -04:00
|
|
|
ram_external_app_sstvtx(rwx) : org = 0xADC70000, len = 32k
|
2024-09-30 10:13:55 -04:00
|
|
|
ram_external_app_random_password(rwx) : org = 0xADC80000, len = 32k
|
2024-10-07 09:58:37 -04:00
|
|
|
ram_external_app_acars_rx(rwx) : org = 0xADC90000, len = 32k
|
2024-11-08 10:10:25 -05:00
|
|
|
ram_external_app_shoppingcart_lock(rwx) : org = 0xADCA0000, len = 32k
|
2024-11-08 16:26:04 -05:00
|
|
|
ram_external_app_cvs_spam(rwx) : org = 0xADCB0000, len = 32k
|
2024-11-11 11:05:19 -05:00
|
|
|
ram_external_app_ookbrute(rwx) : org = 0xADCC0000, len = 32k
|
2024-11-16 12:03:53 -05:00
|
|
|
ram_external_app_flippertx(rwx) : org = 0xADCD0000, len = 32k
|
Ook Editor adjustements (#2366)
* adding ook_file.cpp
* aligned GUI, change low_bit to pause, start to use ook_file API
* bit duration, pause, fields step, indent
* working OOK file loading
* revamped GUI with the decided names and units
* read, start tx, stop tx in ook_file API
* cleanings, using ook_file_data and API to load, save, send, stop tx
* renamed text widget
* moved set target frequency to start_ook_file_tx function
* comments, took out a function to put it in API
* removed non working Tesla OOK files
* changed space to tab
* set author information
* Renamed to OOKEditor
2024-11-19 11:16:37 -05:00
|
|
|
ram_external_app_ook_editor(rwx) : org = 0xADCE0000, len = 32k
|
2024-11-19 15:02:29 -05:00
|
|
|
ram_external_app_remote(rwx) : org = 0xADCF0000, len = 32k
|
2023-10-02 14:19:22 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
SECTIONS
|
|
|
|
{
|
2023-10-08 10:24:02 -04:00
|
|
|
.external_app_afsk_rx : ALIGN(4) SUBALIGN(4)
|
2023-10-02 14:19:22 -04:00
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_afsk_rx.application_information));
|
|
|
|
*(*ui*external_app*afsk_rx*);
|
|
|
|
} > ram_external_app_afsk_rx
|
2023-10-08 10:24:02 -04:00
|
|
|
|
|
|
|
.external_app_calculator : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_calculator.application_information));
|
|
|
|
*(*ui*external_app*calculator*);
|
|
|
|
} > ram_external_app_calculator
|
2023-10-11 01:43:56 -04:00
|
|
|
|
|
|
|
.external_app_font_viewer : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_font_viewer.application_information));
|
|
|
|
*(*ui*external_app*font_viewer*);
|
|
|
|
} > ram_external_app_font_viewer
|
2023-12-06 08:35:23 -05:00
|
|
|
|
|
|
|
.external_app_blespam : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_blespam.application_information));
|
|
|
|
*(*ui*external_app*blespam*);
|
|
|
|
} > ram_external_app_blespam
|
2023-12-11 05:57:04 -05:00
|
|
|
|
2023-12-11 02:55:07 -05:00
|
|
|
.external_app_analogtv : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_analogtv.application_information));
|
|
|
|
*(*ui*external_app*analogtv*);
|
|
|
|
} > ram_external_app_analogtv
|
2023-12-11 05:57:04 -05:00
|
|
|
|
|
|
|
.external_app_nrf_rx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_nrf_rx.application_information));
|
|
|
|
*(*ui*external_app*nrf_rx*);
|
|
|
|
} > ram_external_app_nrf_rx
|
2024-02-03 13:33:36 -05:00
|
|
|
|
2023-12-12 10:55:50 -05:00
|
|
|
.external_app_coasterp : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_coasterp.application_information));
|
|
|
|
*(*ui*external_app*coasterp*);
|
|
|
|
} > ram_external_app_coasterp
|
2024-02-03 13:33:36 -05:00
|
|
|
|
2023-12-12 10:55:50 -05:00
|
|
|
.external_app_lge : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_lge.application_information));
|
|
|
|
*(*ui*external_app*lge*);
|
|
|
|
} > ram_external_app_lge
|
2024-02-03 13:33:36 -05:00
|
|
|
|
2024-01-05 04:46:09 -05:00
|
|
|
.external_app_lcr : ALIGN(4) SUBALIGN(4)
|
2023-12-12 10:55:50 -05:00
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_lcr.application_information));
|
|
|
|
*(*ui*external_app*lcr*);
|
|
|
|
} > ram_external_app_lcr
|
2024-02-03 13:33:36 -05:00
|
|
|
|
2024-01-05 04:46:09 -05:00
|
|
|
.external_app_jammer : ALIGN(4) SUBALIGN(4)
|
2023-12-15 14:18:21 -05:00
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_jammer.application_information));
|
|
|
|
*(*ui*external_app*jammer*);
|
|
|
|
} > ram_external_app_jammer
|
2024-02-03 13:33:36 -05:00
|
|
|
|
2024-01-05 04:46:09 -05:00
|
|
|
.external_app_gpssim : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_gpssim.application_information));
|
|
|
|
*(*ui*external_app*gpssim*);
|
|
|
|
} > ram_external_app_gpssim
|
|
|
|
|
|
|
|
.external_app_spainter : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_spainter.application_information));
|
|
|
|
*(*ui*external_app*spainter*);
|
|
|
|
} > ram_external_app_spainter
|
2023-12-15 14:18:21 -05:00
|
|
|
|
2024-01-21 05:49:17 -05:00
|
|
|
.external_app_keyfob : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_keyfob.application_information));
|
|
|
|
*(*ui*external_app*keyfob*);
|
|
|
|
} > ram_external_app_keyfob
|
|
|
|
|
2024-02-03 13:33:36 -05:00
|
|
|
.external_app_tetris : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_tetris.application_information));
|
|
|
|
*(*ui*external_app*tetris*);
|
|
|
|
} > ram_external_app_tetris
|
|
|
|
|
2024-03-07 11:22:24 -05:00
|
|
|
.external_app_extsensors : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_extsensors.application_information));
|
|
|
|
*(*ui*external_app*extsensors*);
|
|
|
|
} > ram_external_app_extsensors
|
|
|
|
|
2024-03-19 16:33:53 -04:00
|
|
|
.external_app_foxhunt_rx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_foxhunt_rx.application_information));
|
|
|
|
*(*ui*external_app*foxhunt_rx*);
|
|
|
|
} > ram_external_app_foxhunt_rx
|
|
|
|
|
2024-03-22 06:10:16 -04:00
|
|
|
.external_app_audio_test : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_audio_test.application_information));
|
|
|
|
*(*ui*external_app*audio_test*);
|
|
|
|
} > ram_external_app_audio_test
|
2024-03-07 11:22:24 -05:00
|
|
|
|
2024-03-28 20:25:23 -04:00
|
|
|
.external_app_wardrivemap : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_wardrivemap.application_information));
|
|
|
|
*(*ui*external_app*wardrivemap*);
|
|
|
|
} > ram_external_app_wardrivemap
|
|
|
|
|
2024-04-29 07:30:21 -04:00
|
|
|
.external_app_tpmsrx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_tpmsrx.application_information));
|
|
|
|
*(*ui*external_app*tpmsrx*);
|
|
|
|
} > ram_external_app_tpmsrx
|
|
|
|
|
2024-07-29 01:45:56 -04:00
|
|
|
.external_app_protoview : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_protoview.application_information));
|
|
|
|
*(*ui*external_app*protoview*);
|
|
|
|
} > ram_external_app_protoview
|
|
|
|
|
2024-08-09 17:47:08 -04:00
|
|
|
.external_app_adsbtx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_adsbtx.application_information));
|
|
|
|
*(*ui*external_app*adsbtx*);
|
|
|
|
} > ram_external_app_adsbtx
|
|
|
|
|
2024-07-29 01:45:56 -04:00
|
|
|
|
2024-09-20 05:59:17 -04:00
|
|
|
.external_app_morse_tx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_morse_tx.application_information));
|
|
|
|
*(*ui*external_app*morse_tx*);
|
|
|
|
} > ram_external_app_morse_tx
|
|
|
|
|
2024-09-20 09:41:44 -04:00
|
|
|
.external_app_sstvtx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_sstvtx.application_information));
|
|
|
|
*(*ui*external_app*sstvtx*);
|
|
|
|
} > ram_external_app_sstvtx
|
|
|
|
|
2024-09-30 10:13:55 -04:00
|
|
|
.external_app_random_password : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_random_password.application_information));
|
|
|
|
*(*ui*external_app*random_password*);
|
|
|
|
} > ram_external_app_random_password
|
2024-09-20 05:59:17 -04:00
|
|
|
|
2024-10-07 09:58:37 -04:00
|
|
|
.external_app_acars_rx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_acars_rx.application_information));
|
|
|
|
*(*ui*external_app*acars_rx*);
|
|
|
|
} > ram_external_app_acars_rx
|
|
|
|
|
2024-11-08 10:10:25 -05:00
|
|
|
.external_app_shoppingcart_lock : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_shoppingcart_lock.application_information));
|
|
|
|
*(*ui*external_app*shoppingcart_lock*);
|
|
|
|
} > ram_external_app_shoppingcart_lock
|
2024-10-07 09:58:37 -04:00
|
|
|
|
2024-11-08 16:26:04 -05:00
|
|
|
.external_app_cvs_spam : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_cvs_spam.application_information));
|
|
|
|
*(*ui*external_app*cvs_spam*);
|
|
|
|
} > ram_external_app_cvs_spam
|
2024-10-07 09:58:37 -04:00
|
|
|
|
2024-11-11 11:05:19 -05:00
|
|
|
.external_app_ookbrute : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_ookbrute.application_information));
|
|
|
|
*(*ui*external_app*ookbrute*);
|
|
|
|
} > ram_external_app_ookbrute
|
|
|
|
|
Ook Editor adjustements (#2366)
* adding ook_file.cpp
* aligned GUI, change low_bit to pause, start to use ook_file API
* bit duration, pause, fields step, indent
* working OOK file loading
* revamped GUI with the decided names and units
* read, start tx, stop tx in ook_file API
* cleanings, using ook_file_data and API to load, save, send, stop tx
* renamed text widget
* moved set target frequency to start_ook_file_tx function
* comments, took out a function to put it in API
* removed non working Tesla OOK files
* changed space to tab
* set author information
* Renamed to OOKEditor
2024-11-19 11:16:37 -05:00
|
|
|
.external_app_ook_editor : ALIGN(4) SUBALIGN(4)
|
2024-11-17 15:23:56 -05:00
|
|
|
{
|
Ook Editor adjustements (#2366)
* adding ook_file.cpp
* aligned GUI, change low_bit to pause, start to use ook_file API
* bit duration, pause, fields step, indent
* working OOK file loading
* revamped GUI with the decided names and units
* read, start tx, stop tx in ook_file API
* cleanings, using ook_file_data and API to load, save, send, stop tx
* renamed text widget
* moved set target frequency to start_ook_file_tx function
* comments, took out a function to put it in API
* removed non working Tesla OOK files
* changed space to tab
* set author information
* Renamed to OOKEditor
2024-11-19 11:16:37 -05:00
|
|
|
KEEP(*(.external_app.app_ook_editor.application_information));
|
|
|
|
*(*ui*external_app*ook_editor*);
|
|
|
|
} > ram_external_app_ook_editor
|
2024-11-17 15:23:56 -05:00
|
|
|
|
2024-11-16 12:03:53 -05:00
|
|
|
.external_app_flippertx : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_flippertx.application_information));
|
|
|
|
*(*ui*external_app*flippertx*);
|
|
|
|
} > ram_external_app_flippertx
|
|
|
|
|
2024-11-19 15:02:29 -05:00
|
|
|
.external_app_remote : ALIGN(4) SUBALIGN(4)
|
|
|
|
{
|
|
|
|
KEEP(*(.external_app.app_remote.application_information));
|
|
|
|
*(*ui*external_app*remote*);
|
|
|
|
} > ram_external_app_remote
|
2023-10-02 14:19:22 -04:00
|
|
|
}
|