解决 kl1 bootram 数据区异常的问题

This commit is contained in:
2024-12-19 17:44:25 +08:00
parent 9fb3296d5c
commit 064deaf946
4 changed files with 7 additions and 11 deletions

View File

@@ -21,3 +21,7 @@
要解决个问题 可以用一个函数指针来强行定位到这个函数的地址 调用这个函数指针即可
2024.11.1
layout_index 并不最终决定使用的layout 获取layout时会根据 flash psram 来重新指定
2024.12.19
kl1 的 bootram.bin 编译出来存在sdata错位的问题 kl3没有这个问题 修改kl1的link_ram.lds之后就正常了
编译器使用的10.2.0版本但是主线上编译器使用7.2.0版本编译出来就是正常的
要实现只编译某个部分 只需要把在上一级目录的Makefile中的 SUB_DIRS 参数修改为要编译的部分即可

View File

@@ -32,7 +32,7 @@ PRE_MARCO += IOT_DTEST_ONLY_SUPPORT=1 IOT_BUILD_TYPE=6
# else
# PRE_MARCO += BOOTRAM_SECRET_GRADE_ENABLE=1
# endif
PRE_MARCO += BOOTRAM_SECRET_GRADE_ENABLE=1
PRE_MARCO += BOOTRAM_SECRET_GRADE_ENABLE=0
SUB_DIRS = $(TOPDIR)/os $(TOPDIR)/common/io_lib $(MODTOPDIR)/bootram $(MODTOPDIR)/bootram/shell/cmd_line/src $(MODTOPDIR)/bootram/executor $(MODTOPDIR)/bootram/executor/lib $(MODTOPDIR)/bootram/sub_executor \
$(MODTOPDIR)/bootram/driver/src $(MODTOPDIR)/bootram/driver/src/$(hw_dep)

View File

@@ -77,7 +77,7 @@ endif
extra_work = echo handle sbl...;\
$(TOPDIR)/tools/rom_img/make_ld.sh --addrs $(TOPDIR)/sbl/.output/$(sbl_bin_path)lib/kunlun_sbl.out \
$(TOPDIR)/tools/rom_img/sbl_symbol > $(TOPDIR)/startup/ldscripts/riscv3/sbl.addrs.ld;
$(TOPDIR)/tools/rom_img/sbl_symbol > $(TOPDIR)/startup/ldscripts/$(riscv_dep)/sbl.addrs.ld;

View File

@@ -111,20 +111,12 @@ SECTIONS
{
*(.data .data.*)
*(.gnu.linkonce.d.*)
} >ram
.srodata :
{
PROVIDE( _gp = . + 0x800 );
*(.srodata.cst16)
*(.srodata.cst8)
*(.srodata.cst4)
*(.srodata.cst2)
*(.srodata .srodata.*)
} >ram AT>flash
.sdata :
{
*(.sdata .sdata.*)
*(.gnu.linkonce.s.*)
} >ram AT>flash