800*320工程文件+初始demo提交

This commit is contained in:
2024-03-07 16:46:43 +08:00
parent 33e6eb45b3
commit 70ec3005bb
3306 changed files with 3374364 additions and 2563 deletions

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,10 @@
<DataBase>
<!-- -->
<!-- FreqChip -->
<!-- -->
<Device>
<ChipInfo Vendor="FreqChip" Name="FR30xx" Core="JLINK_CORE_CORTEX_M33" WorkRAMAddr="0x20000000" WorkRAMSize="0x8000"/>
<FlashBankInfo Name="Internal Flash" BaseAddr="0x08000000" MaxSize="0x1000000" Loader="Devices/Freqchip/FR30xx.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
<FlashBankInfo Name="External Flash" BaseAddr="0x10000000" MaxSize="0x8000000" Loader="Devices/Freqchip/FR30xx_ext.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
</DataBase>

View File

@ -0,0 +1,64 @@
/* 使用说明
1使用xip_flash.sct作为链接文件
2工程选项的Debug标签页中初始化文件(Initialization File)选择debug_xip_flash.ini
3【重要】Utilities标签页中取消选择Update Target before Debugging
*/
/*----------------------------------------------------------------------------
* Name: debug_xip_flash.ini
* Purpose: XIP Debug Initialization File
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
Setup() configure PC & SP for RAM Debug
*----------------------------------------------------------------------------*/
FUNC void Setup (void) {
_WDWORD(0xE0050020, 0xffffffff);
_WDWORD(0xE0050024, 0xffffffff);
_WDWORD(0xE0050028, 0xffffffff);
_WDWORD(0xE005002c, 0xffffffff);
_WDWORD(0xE0050030, 0xffffffff);
_WDWORD(0xE0050034, 0xffffffff);
_WDWORD(0xE0050038, 0xffffffff);
_WDWORD(0xE005003c, 0xffffffff);
_WDWORD(0xE0050040, 0xffffffff);
_WDWORD(0xE0050044, 0xffffffff);
SP = _RDWORD(0x08002000); // Setup Stack Pointer
PC = _RDWORD(0x08002004); // Setup Program Counter
_WDWORD(0xE000ED08, 0x08002000); // Setup Vector Table Offset Register
// Enable Cache
if ((_RDWORD(0xE00B0004) & 0x03) == 0x00) {
_WDWORD(0xE00B0000, 0x00000038);
_WDWORD(0xE00B0000, 0x0000003C);
_WDWORD(0x20000000, 0x12345678);
_WDWORD(0x20000004, 0x12345678);
_WDWORD(0x20000008, 0x12345678);
_WDWORD(0x2000000c, 0x12345678);
_WDWORD(0x20000010, 0x12345678);
_WDWORD(0x20000014, 0x12345678);
_WDWORD(0x20000018, 0x12345678);
_WDWORD(0x2000001c, 0x12345678);
_WDWORD(0xE00B0000, 0x0000003E);
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0x20000000, _RDWORD(0x20000000));
_WDWORD(0xE00B0000, 0x0000003D);
}
}
FUNC void OnResetExec (void) { // executes upon software RESET
Setup(); // Setup for Running
}
load %L incremental
Setup(); // Setup for Running
//g, main

View File

@ -0,0 +1,40 @@
@echo off
echo %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
echo %TIME%
set output_path=%cd%\output
:: project name
set project_name=%~1
:: input elf file path
set elf_path=%~2
:: compiler include file path
set compiler_include_path=%~3
:: this script path
set bat_script_path=%~0
if "%project_name%" == "" goto parameter_error
if "%elf_path%" == "" goto parameter_error
if "%compiler_include_path%" == "" goto parameter_error
::echo %output_path%
::echo %project_name%
::echo %elf_path%
::echo %compiler_include_path:~0,-8%
set fromelf_cmd=%compiler_include_path:~0,-8%\bin\fromelf.exe
set output_prefix=%output_path%\%project_name%
%fromelf_cmd% --text -c -o "%output_prefix%.txt" "%elf_path%"
%fromelf_cmd% --vhx --32X1 -c -o "%output_prefix%.hex" "%elf_path%"
%fromelf_cmd% --bin -o "%output_prefix%.bin" "%elf_path%"
set python_script_path=%bat_script_path:~0,-22%\post_process.py
python "%python_script_path%" "%project_name%" "%output_path%"
exit /b 0
:parameter_error
echo "missing input parameters"
exit /b 1

View File

@ -0,0 +1,46 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x20040000 0x000FE000 { ; load region size_region
ER_IROM1 0x20040000 0x000FE000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM_CODE +0 {
*(ram_code)
rpmsg.o
rpmsg_lite.o
rpmsg_queue.o
llist.o
virtqueue.o
rpmsg_env_freertos.o
rpmsg_platform.o
list.o
queue.o
tasks.o
timers.o
port.o
portasm.o
heap_6.o
ke_mem.o
audio_decoder.o
audio_encoder.o
audio_hw.o
audio_scene.o
algorithm.o
codec.o
resample.o
}
RW_IRAM1 +0 { ; RW data
.ANY (+RW +ZI)
}
RW_PSRAM 0x30000000 UNINIT 0x10000000 { ; RW data
.ANY (NoInit)
}
}

View File

@ -0,0 +1,19 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08002000 0x000FE000 { ; load region size_region
ER_IROM1 0x08002000 0x000FE000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM_CODE 0x1FFE0000 0x20000 {
*(ram_code)
}
RW_IRAM1 0x20000000 0x000C0000 { ; RW data
.ANY (+RW +ZI)
}
}

View File

@ -0,0 +1,46 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08002000 0x000FE000 { ; load region size_region
ER_IROM1 0x08002000 0x000FE000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM_CODE 0x1FFE0000 0x20000 {
*(ram_code)
rpmsg.o
rpmsg_lite.o
rpmsg_queue.o
llist.o
virtqueue.o
rpmsg_env_freertos.o
rpmsg_platform.o
list.o
queue.o
tasks.o
timers.o
port.o
portasm.o
heap_6.o
ke_mem.o
audio_decoder.o
audio_encoder.o
audio_hw.o
audio_scene.o
algorithm.o
codec.o
resample.o
}
RW_IRAM1 0x20000000 0x000C0000 { ; RW data
.ANY (+RW +ZI)
}
RW_PSRAM 0x30000000 UNINIT 0x10000000 { ; RW data
.ANY (NoInit)
}
}

View File

@ -0,0 +1,28 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08002000 0x000FE000 { ; load region size_region
ER_IROM1 0x08002000 0x000FE000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM_CODE 0x1FFE0000 0x20000 {
*(ram_code)
list.o
queue.o
tasks.o
timers.o
port.o
portasm.o
heap_6.o
ke_mem.o
}
RW_IRAM1 0x20000000 0x00020000 { ; RW data
.ANY (+RW +ZI)
}
}

View File

@ -0,0 +1,28 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08002000 0x000FE000 { ; load region size_region
ER_IROM1 0x08002000 0x000FE000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM_CODE 0x1FFE0000 0x20000 {
*(ram_code)
list.o
queue.o
tasks.o
timers.o
port.o
portasm.o
heap_6.o
ke_mem.o
}
RW_IRAM1 0x20000000 0x00080000 { ; RW data
.ANY (+RW +ZI)
}
}

View File

@ -0,0 +1,67 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08072000 0x00160000 { ; load region size_region
ER_IROM1 0x08072000 0x00160000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM_CODE 0x1FFE0000 0x20000 {
*(ram_code)
rpmsg.o
rpmsg_lite.o
rpmsg_queue.o
llist.o
virtqueue.o
rpmsg_env_freertos.o
rpmsg_platform.o
list.o
queue.o
tasks.o
timers.o
port.o
portasm.o
heap_6.o
ke_mem.o
audio_decoder.o
audio_encoder.o
audio_hw.o
audio_scene.o
algorithm.o
codec.o
resample.o
lv_obj_pos.o
*lv_obj_style.o
*lv_src_draw.lib(+RO)
}
RW_SRAM 0x20000000 0x000c0000 {
.ANY (+ZI +RW)
}
RW_DRAM 0x200c0000 0x00020000 {
a2alloc.o(+ZI)
avalloc.o(+ZI)
avdevice.o(+ZI)
btalloc.o(+ZI)
hfalloc.o(+ZI)
hfgalloc.o(+ZI)
goep.o(+ZI)
obxalloc.o(+ZI)
pbap.o(+ZI)
avrcp.o(+ZI)
*(dram_section)
}
RW_PSRAM 0x30000000 UNINIT 0x10000000 { ; RW data
.ANY (NoInit)
}
}