手册上说DA14580有42K RAM和84K ROM,如果我把程序下载到片外flash中,那么上电后是不是程序被拷贝到42K RAM中运行?考虑到变量也存储在42K RAM中,是不是意味着代码必须小于42K ?
程序能否下载到84 k ROM中直接运行吗?是否也是上电后被拷贝到42 k RAM中运行,那代码也被限制在42K以下?84K ROM是否出厂时就已经被蓝牙协议栈占用了一部分,还是说完全是空的,全部留给用户使用?
如附件所示,keil c软件中on-chip IROM1是指84K ROM吗?IRAM1是指42K RAM吗?我对这里的设置没搞清楚,在线调试时这里如果设置不恰当,那么编译的程序就不能正常运行。
Keywords:
Device:
代码都是下到RAM去跑的。除去协议栈等等用户自己编译出来的代码一般在30k以下比较好。高于30k或者接近40k的话就要一定程度的修改memory mapping 来进行优化了。这个会带来额外的困难和工作量。
具体可以看看https://support.dialog-semiconductor.com/resource/um-b-011-user-manual-d...
1.追问一下,使用keil c软件编译出来的hex文件是否已经包含了协议栈?如果包含协议栈,那这个代码可以为多大?
2.那da14580 84k ROM能否用来存储代码?