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