完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、目前下载工具WCHISPTOOL,有RAMX的分配选项,但是这个选项对于下载的HEX有任何意义么?
2、目前SDK的代码,LD文件并没有为RAMX单独定义section。startup_ch56x.s也没有flash段代码拷贝到RAMX段的过程。 3、我自己添加了RAMX的section定义,给函数分配了section,list文件可见汇编代码函数VMA空间是0x20020000开始的地址。但是程序下载后,无法运行。 LD文件: CODEX (xrw) : ORIGIN = 0x20050000, LENGTH = 32K .xCode : { . = ALIGN(4); PROVIDE(_xCode_vma = 0x20050000); PROVIDE(_xCode_lma = 0x00020000); PROVIDE( _xCodeLen = 0x8000); } >CODEX AT>FLASH startup_ch56x.s: 2: /* LOAD XCODE FROM FLASH TO RAM*/ la a0, _xCode_lma la a1, _xCode_vma la a2, _edata bgeu a1, a2, 2f |
|
相关推荐
2个回答
|
|
在isp工具配置中配置RAMX的分配,是用来配置ch565/ch569的 硬件flash到ram的搬移,为了更高的速度,通常一些代码要放在ram里运行
至于ramx的section定义,你可以打开一个usb的example,里面usb的dma数组地址就是定义在ramx的,由于example工程都是共用一个ld文件,你可以按照那个来. |
|
|
|
1、ISP工具,如果是修改InfoFlash的[31:30]USER_MEM字段的配置值,这个就说得通了。
2、RAMX和CODEX的和是128K,所以其实RAMX的总空间是0x20020000-0x2003FFFF。手册第13页 0x20038000-0x3FFFFFFF 保留,这项就不严谨。 3、DMA段只是内存段,是变量定义。代码是需要拷贝的,从LMA拷贝到VMA空间,就像DATA段在startup_ch56x.s做的工作。这个没解释清楚。 |
|
|
|
只有小组成员才能发言,加入小组>>
467 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2871 浏览 2 评论
2359 浏览 1 评论
810浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
637浏览 1评论
495浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
359浏览 1评论
633浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 03:13 , Processed in 1.037923 second(s), Total 51, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号