最近尝试LicheePi_Zero裸板程序,实现汇编调用C语言的功能,没有能实现,过程中遇到一些问题,希望大神能给我解惑,感谢感谢!
1、LicheePi_Zero编写的裸板程序为什么要烧写到TF卡的8K地址偏移出,V3S用户手册上没有看到相关的说明?
2、编写裸板程序用arm-linux-gnueabihf-ld链接时,链接地址应该是多少?是8K吗(8K=0x2000)?
3、汇编调用C语言时,需要初始化栈,SP指针应该指向哪片可用的内存空间呢?
4、V3S的BROM 0xffff0000-0xffff7fff 32K 这32K是不是被完全使用作为boot rom?
5、SRAM A1 0x00000000-0x00003fff 16K 和SRAM C 0x00004000-0x0000EFFF 44K可不可以用来初始化栈
离线
你有没有用到 DRAM ?如果没有用就只能在 SRAM跑, 链接地址也只能是这个范围之内了。
搜了一下v3s手册, 确实没有关于8k偏移的说明,但是这个值是固定的,全志所有芯片都是这样。
没有用到SDRAM,我现在只是尝试裸板,想通过汇编调用C语言实现一下简单的功能,没有初始化SDRAM
是不是就是SRAM A1 和RSRAM C,即开始的60K SRAM空间
8K的偏移地址和编译的链接的地址有什么联系吗?
最近编辑记录 a1326268019 (2020-01-16 15:18:19)
离线
8K的偏移地址和编译的链接的地址没有联系, BROM只是把TF卡8k偏移数据搬到SRAM去,然后指针指过去。
链接地址的一般设置为多少?荔枝派zero有多少SRAM供用户使用的
最近编辑记录 a1326268019 (2020-01-16 16:26:36)
离线
好的,谢谢
离线