Features: - VFO mode with direct frequency input - POCSAG decoder (512/1200 baud) with BCH(31,21) correction - Full-screen Spectrum analyzer - FM Radio receiver - RSSI signal indicator overlay - Custom boot splash (UA1ZBE / POCSAG pager / build date) Architecture: - app/mode.c — mode dispatcher (VFO/POCSAG/Spectrum/FM) - app/boot_splash.c — 2-second boot splash - app/pocsag/ — POCSAG decoder + BCH correction - app/display_rssi.c — RSSI indicator - main.c — entry point with custom init - syscalls.c — bare-metal _sbrk stub Build: arm-none-eabi-gcc -Os -flto -Wall -Werror -Wextra Size: 57.9KB Flash / 3.6KB RAM Controls: - 0-9: Direct frequency input (VFO) - SK2: POCSAG mode - SK1: Spectrum analyzer - 0: FM Radio - EXIT: Return to VFO - F/*: Toggle 512/1200 baud (in POCSAG)
78 lines
2.5 KiB
Plaintext
78 lines
2.5 KiB
Plaintext
#! armcc -E
|
|
;**************************************************
|
|
; Copyright (c) 2017 ARM Ltd. All rights reserved.
|
|
;**************************************************
|
|
|
|
; Scatter-file for RTX Example on Versatile Express
|
|
|
|
; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map.
|
|
|
|
; This platform has 2GB SDRAM starting at 0x80000000.
|
|
|
|
#include "mem_ARMCA5.h"
|
|
|
|
SDRAM __ROM_BASE __ROM_SIZE ; load region size_region
|
|
{
|
|
VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address
|
|
{
|
|
* (RESET, +FIRST) ; Vector table and other startup code
|
|
* (InRoot$$Sections) ; All (library) code that must be in a root region
|
|
* (+RO-CODE) ; Application RO code (.text)
|
|
* (+RO-DATA) ; Application RO data (.constdata)
|
|
}
|
|
|
|
RW_DATA __RAM_BASE __RW_DATA_SIZE
|
|
{ * (+RW) } ; Application RW data (.data)
|
|
|
|
ZI_DATA (__RAM_BASE+
|
|
__RW_DATA_SIZE) __ZI_DATA_SIZE
|
|
{ * (+ZI) } ; Application ZI data (.bss)
|
|
|
|
ARM_LIB_HEAP (__RAM_BASE
|
|
+__RW_DATA_SIZE
|
|
+__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up
|
|
{ }
|
|
|
|
ARM_LIB_STACK (__RAM_BASE
|
|
+__RAM_SIZE
|
|
-__FIQ_STACK_SIZE
|
|
-__IRQ_STACK_SIZE
|
|
-__SVC_STACK_SIZE
|
|
-__ABT_STACK_SIZE
|
|
-__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down
|
|
{ }
|
|
|
|
UND_STACK (__RAM_BASE
|
|
+__RAM_SIZE
|
|
-__FIQ_STACK_SIZE
|
|
-__IRQ_STACK_SIZE
|
|
-__SVC_STACK_SIZE
|
|
-__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack
|
|
{ }
|
|
|
|
ABT_STACK (__RAM_BASE
|
|
+__RAM_SIZE
|
|
-__FIQ_STACK_SIZE
|
|
-__IRQ_STACK_SIZE
|
|
-__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack
|
|
{ }
|
|
|
|
SVC_STACK (__RAM_BASE
|
|
+__RAM_SIZE
|
|
-__FIQ_STACK_SIZE
|
|
-__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack
|
|
{ }
|
|
|
|
IRQ_STACK (__RAM_BASE
|
|
+__RAM_SIZE
|
|
-__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack
|
|
{ }
|
|
|
|
FIQ_STACK (__RAM_BASE
|
|
+__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack
|
|
{ }
|
|
|
|
TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU
|
|
{ }
|
|
}
|