project:cfg:BoardConfig_IPC: Added fastboot BoardConfig file and firmware post-scripts, distinguishing between the BoardConfigs for Luckfox Pico Pro and Luckfox Pico Max. project:app: Added fastboot_client and rk_smart_door for quick boot applications; updated rkipc app to adapt to the latest media library. media:samples: Added more usage examples. media:rockit: Fixed bugs; removed support for retrieving data frames from VPSS. media:isp: Updated rkaiq library and related tools to support connection to RKISP_Tuner. sysdrv:Makefile: Added support for compiling drv_ko on Luckfox Pico Ultra W using Ubuntu; added support for custom root filesystem. sysdrv:tools:board: Updated Buildroot optional mirror sources, updated some software versions, and stored device tree files and configuration files that undergo multiple modifications for U-Boot and kernel separately. sysdrv:source:mcu: Used RISC-V MCU SDK with RT-Thread system, mainly for initializing camera AE during quick boot. sysdrv:source:uboot: Added support for fastboot; added high baud rate DDR bin for serial firmware upgrades. sysdrv:source:kernel: Upgraded to version 5.10.160; increased NPU frequency for RV1106G3; added support for fastboot. Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
124 lines
2.8 KiB
Plaintext
124 lines
2.8 KiB
Plaintext
OUTPUT_ARCH( "riscv" )
|
|
ENTRY(_start)
|
|
|
|
MEMORY {
|
|
RAM (rwx) : ORIGIN = 0x40000, LENGTH = 0x3c000
|
|
}
|
|
|
|
STACK_SIZE = (1024 * 2);
|
|
|
|
CL_SIZE = 0;
|
|
|
|
SECTIONS {
|
|
.text : {
|
|
PROVIDE(__TEXT_START__ = .);
|
|
*start_rv1106_mcu.o(.text .text.*)
|
|
*(.text .text.*)
|
|
*(sc_test_section)
|
|
|
|
/* section information for finsh shell */
|
|
. = ALIGN(4);
|
|
__fsymtab_start = .;
|
|
KEEP(*(FSymTab))
|
|
__fsymtab_end = .;
|
|
. = ALIGN(4);
|
|
__vsymtab_start = .;
|
|
KEEP(*(VSymTab))
|
|
__vsymtab_end = .;
|
|
. = ALIGN(4);
|
|
|
|
. = ALIGN(4);
|
|
__rt_init_start = .;
|
|
KEEP(*(SORT(.rti_fn*)))
|
|
__rt_init_end = .;
|
|
. = ALIGN(4);
|
|
|
|
/* section information for modules */
|
|
. = ALIGN(4);
|
|
__rtmsymtab_start = .;
|
|
KEEP(*(RTMSymTab))
|
|
__rtmsymtab_end = .;
|
|
|
|
. = ALIGN(CL_SIZE);
|
|
PROVIDE(__TEXT_END__ = .);
|
|
} > RAM
|
|
|
|
/* data segment */
|
|
.data : {
|
|
PROVIDE(__DATA_START__ = .);
|
|
*(.data .data.*)
|
|
. = ALIGN(CL_SIZE);
|
|
PROVIDE(__DATA_END__ = .);
|
|
} > RAM
|
|
|
|
.sdata : {
|
|
_gp = . + 0x800;
|
|
*(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata*)
|
|
*(.sdata .sdata.* .gnu.linkonce.s.*)
|
|
. = ALIGN(CL_SIZE);
|
|
} > RAM
|
|
|
|
/* thread-local data segment */
|
|
.tdata : {
|
|
PROVIDE(_tls_data = .);
|
|
PROVIDE(_tdata_begin = .);
|
|
*(.tdata .tdata.*)
|
|
PROVIDE(_tdata_end = .);
|
|
. = ALIGN(CL_SIZE);
|
|
} > RAM
|
|
|
|
.tbss : {
|
|
PROVIDE(__BSS_START__ = .);
|
|
*(.tbss .tbss.*)
|
|
. = ALIGN(CL_SIZE);
|
|
PROVIDE(_tbss_end = .);
|
|
} > RAM
|
|
|
|
/* bss segment */
|
|
.sbss : {
|
|
*(.sbss .sbss.* .gnu.linkonce.sb.*)
|
|
*(.scommon)
|
|
} > RAM
|
|
|
|
.bss : {
|
|
*(.bss .bss.*)
|
|
*(COMMON)
|
|
. = ALIGN(CL_SIZE);
|
|
PROVIDE(__BSS_END__ = .);
|
|
} > RAM
|
|
|
|
.stack (NOLOAD): {
|
|
FILL(0);
|
|
PROVIDE(__STACK_START__ = .);
|
|
. += STACK_SIZE;
|
|
PROVIDE(__C_STACK_TOP__ = .);
|
|
PROVIDE(_sp = .);
|
|
PROVIDE(__STACK_END__ = .);
|
|
} > RAM
|
|
|
|
.save_data (NOLOAD):
|
|
{
|
|
. = . + 8;
|
|
. = ALIGN(8);
|
|
SAVE_DATA_LENGTH = _tdata_end - __TEXT_END__;
|
|
PROVIDE ( __SAVE_DATA_START__ = .);
|
|
. = . + SAVE_DATA_LENGTH;
|
|
. = ALIGN(8);
|
|
PROVIDE ( __SAVE_DATA_END__ = .);
|
|
} > RAM
|
|
|
|
/* End of uninitalized data segement */
|
|
._user_heap (NOLOAD):
|
|
{
|
|
. = ALIGN(8);
|
|
PROVIDE ( end = . );
|
|
PROVIDE ( _end = . );
|
|
PROVIDE ( __HEAP_START__ = .);
|
|
HEAP_SIZE = ORIGIN(RAM) + LENGTH(RAM) - __HEAP_START__;
|
|
. = . + HEAP_SIZE;
|
|
. = ALIGN(8);
|
|
PROVIDE ( __HEAP_END__ = .);
|
|
PROVIDE ( _heap_end = .);
|
|
} > RAM
|
|
}
|