A36 PCB1.1 软件工程整理
This commit is contained in:
BIN
fr3092_mcu/components/tools/keil/FR30xx.FLM
Normal file
BIN
fr3092_mcu/components/tools/keil/FR30xx.FLM
Normal file
Binary file not shown.
BIN
fr3092_mcu/components/tools/keil/FR30xx_ext.FLM
Normal file
BIN
fr3092_mcu/components/tools/keil/FR30xx_ext.FLM
Normal file
Binary file not shown.
10
fr3092_mcu/components/tools/keil/JLinkDevices.xml
Normal file
10
fr3092_mcu/components/tools/keil/JLinkDevices.xml
Normal 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>
|
64
fr3092_mcu/components/tools/keil/debug_xip_flash.ini
Normal file
64
fr3092_mcu/components/tools/keil/debug_xip_flash.ini
Normal 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
|
40
fr3092_mcu/components/tools/keil/post_process.bat
Normal file
40
fr3092_mcu/components/tools/keil/post_process.bat
Normal 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
|
46
fr3092_mcu/components/tools/keil/psram_ft_3092e.sct
Normal file
46
fr3092_mcu/components/tools/keil/psram_ft_3092e.sct
Normal 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)
|
||||
}
|
||||
}
|
||||
|
19
fr3092_mcu/components/tools/keil/xip_flash.sct
Normal file
19
fr3092_mcu/components/tools/keil/xip_flash.sct
Normal 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)
|
||||
}
|
||||
}
|
||||
|
46
fr3092_mcu/components/tools/keil/xip_flash_add_psram.sct
Normal file
46
fr3092_mcu/components/tools/keil/xip_flash_add_psram.sct
Normal 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)
|
||||
}
|
||||
}
|
||||
|
28
fr3092_mcu/components/tools/keil/xip_flash_fr3066d.sct
Normal file
28
fr3092_mcu/components/tools/keil/xip_flash_fr3066d.sct
Normal 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)
|
||||
}
|
||||
}
|
||||
|
28
fr3092_mcu/components/tools/keil/xip_flash_fr3068e.sct
Normal file
28
fr3092_mcu/components/tools/keil/xip_flash_fr3068e.sct
Normal 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)
|
||||
}
|
||||
}
|
||||
|
67
fr3092_mcu/components/tools/keil/xip_flash_turn_key.sct
Normal file
67
fr3092_mcu/components/tools/keil/xip_flash_turn_key.sct
Normal 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)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user