我有个产品用IC是DA14580并且外挂一个闪光灯。我想知道当我的程序代码量大于32 kb时。我如何使用凯尔在线调试。因为我现在的程序代码量超过了32 kb,编译报错内存不足。谢谢
你好,
580有50 kb的内存空间。
默认的分配方案是32 k字节代码+ 18 k字节数据。
如果代码超过了32个胃,
有几种解决方式:
1.删除不必要的代码,使代码空间减少到32 k字节以内
2.使用和580 pin_to_pin的585芯片替代
3.重新分配代码/数据空间,如38 kbytes + 12 kb的组合方式
请问你现在的代码的大小是多少吗?
我的程序现在已经超过32 k,有些功能还没写。估计写完代码要40 k左右。重新分配代码/数据空间。请问有没有教程或例子。
请问是不是只有这三种办法,我现在用DA14531进行编程,但是代码量超过了总共的48 kb,不能通过外挂flash来存储程序吗,只能缩减代码量了吗,是否有其他解决办法呢
有的,请留下邮箱,我发给你
我的邮箱为
eng03@raycohk.com
谢谢
已经邮件联系你。
你好CYbin
我也很想知道DA14531代码空间如何才能超过48 kb。能把例子发给我一份么?
邮箱642860539 @qq.com谢谢!
当DA14580固件大小超过内存空间(50 kb)时,只能通过删除用户代码空间来解决。
当DA14531固件大小超过内存空间(48 k字节)时,并且无论如何无法优化空间时,可以把一部分代码放到OTP中。531支持从OTP取指。
531代码从OTP运行的特点是:
1.相对RAM来说:取指速度慢,功耗高
2.芯片供电电压在巴克模式下需要大于1.65 v,绕过模式下需大于1.75 v
3.OTP部分的代码无法升级
在非必要情况下,还是尽量先从优化代码空间、这一手段入手,提供以下方式供参考:
1.删除不必要的概要文件
2.关闭uart printf功能
3.关闭开发调试宏
4.尝试调整凯尔的编译优化选项,选择空间优先
5.虽然凯尔IDE会将未调用的函数不对其加入链接,但最好还是开发者手动不需要的函数,文件从工程中剔除。
谢谢你CYbin, DA14531看起来只能用来做一些简单的应用。
内部都没有缓存,看来我是想多了
是的,
531 在功耗、尺寸、成本上有比较强的竞争力,特别适合做数据泵(如数据透传模块)类产品
和简单应用的蓝牙低功耗外,如防丢器,灯塔,电子标签,计步器,温度计等。
你好,
580有50 kb的内存空间。
默认的分配方案是32 k字节代码+ 18 k字节数据。
如果代码超过了32个胃,
有几种解决方式:
1.删除不必要的代码,使代码空间减少到32 k字节以内
2.使用和580 pin_to_pin的585芯片替代
3.重新分配代码/数据空间,如38 kbytes + 12 kb的组合方式
请问你现在的代码的大小是多少吗?
我的程序现在已经超过32 k,有些功能还没写。估计写完代码要40 k左右。重新分配代码/数据空间。请问有没有教程或例子。
请问是不是只有这三种办法,我现在用DA14531进行编程,但是代码量超过了总共的48 kb,不能通过外挂flash来存储程序吗,只能缩减代码量了吗,是否有其他解决办法呢
你好,
有的,请留下邮箱,我发给你
我的邮箱为
eng03@raycohk.com
谢谢
你好,
已经邮件联系你。
你好CYbin
我也很想知道DA14531代码空间如何才能超过48 kb。能把例子发给我一份么?
邮箱642860539 @qq.com谢谢!
当DA14580固件大小超过内存空间(50 kb)时,只能通过删除用户代码空间来解决。
当DA14531固件大小超过内存空间(48 k字节)时,并且无论如何无法优化空间时,可以把一部分代码放到OTP中。531支持从OTP取指。
531代码从OTP运行的特点是:
1.相对RAM来说:取指速度慢,功耗高
2.芯片供电电压在巴克模式下需要大于1.65 v,绕过模式下需大于1.75 v
3.OTP部分的代码无法升级
在非必要情况下,还是尽量先从优化代码空间、这一手段入手,提供以下方式供参考:
1.删除不必要的概要文件
2.关闭uart printf功能
3.关闭开发调试宏
4.尝试调整凯尔的编译优化选项,选择空间优先
5.虽然凯尔IDE会将未调用的函数不对其加入链接,但最好还是开发者手动不需要的函数,文件从工程中剔除。
谢谢你CYbin, DA14531看起来只能用来做一些简单的应用。
内部都没有缓存,看来我是想多了
是的,
531 在功耗、尺寸、成本上有比较强的竞争力,特别适合做数据泵(如数据透传模块)类产品
和简单应用的蓝牙低功耗外,如防丢器,灯塔,电子标签,计步器,温度计等。