嗨对话小组,
1)我使用I2C EEPROM作为外部内存以从其启动。通过此EEPROM启动(镜像到SRAM),此I2C线将是免费的,即。我可以为另一个组件使用相同的port0_2&0_3(例如和i2c rtc)。因为我已在源代码中声明了rocc i2c引脚,该源代码被转储到EEPROM中。由于EEPROM正在使用I2C来启动,因此SDA和SCL行将始终繁忙?
2)假设代码大小超出SRAM(42KB)的大小从EEPROM靴子,那么它将将代码复制到SRAM?它是否可以部分地复制代码,为每个获取带来一些添加时间的addional时间?
谢谢你。
嗨对话小组等待您的回复!
hello hrg,for(1),我不相信你可以做到这一点。我会仔细检查实验室。
for(2):内存交换是14580上的复杂任务:我们不建议在32KB SRAM之上。简单地,设备映像(配置文件+应用程序等)应在32KB限制范围内。
BR JE_DIALOG.
嗨,为什么你不建议超越32kb sram,我的应用需要35kbram。使用版本5,代码庞大,我真的必须添加一些重要的模块,这是一个必不可少的
嗨gayan_gamage,
您需要考虑的局限性,您将超出32k字节的代码,这意味着您无法使用OTP内存,而无需使用OTP内存,您将无法使用深度睡眠功能。除此之外,您可以使用更多空间,但您必须在散点文件中更改图像的映射,并考虑运行时期间的RAM使用量。最后但并非最不重要的是,为了编译大于32K的图像,您将需要一个完整的keil许可证,因为评估版本可达32k数据。
谢谢mt_dialog.
你好,
我有完整的许可证。延长的睡眠应该很好,我根据我在(来自这个论坛)的指令改变了分散文件。请参阅附件,让我知道这正是(底部描述)是关于的。我有问题的问题。另见指令1.和b。冲突(9000 VS 7BCO)。是否必须在IF部分中注释所有代码。
请看看代码,让我知道。
1.通过更改散射文件并将ER_IROM5设置为ER_IROM5 0x20000440 0x7BC0来增加ER_IROM5以获得0xFF空间。
2.通过删除RW_IRAM50并在ER_IROM5部分中添加可用空间来增加ER_IROM5中的代码空间。您也可以在不同的地址中移动RW_IRAM51。包含非保留堆的可能候选者是Zi_Ret20部分。通过执行此源代码和RW数据的0x20000440至0x20009000的连续存储区域将可用于源代码和RW数据。为了实现这一顺序下面的说明。
一种。删除RW_IRAM50和RW_IRAM51部分
湾将ER_IROM5的大小更改为ER_IROM5 0x20000440(0x9000 - 0x440)
C。通过在zi_ret20定义中添加以下行Jump_table.o(heap_mem_area_not_ret),将在zi_ret20中移动,在zi_ret20中移动非保留堆。
嗨gayan_gamage,
在论坛帖子中,你发现的一些提示是为了让用户扩展他的系统的内存超出32k限制,以上提示并不同时适用所有它们,因为他们中的一些人互相混淆,正如你所注意到的那样。您将必须根据您的要求研究您的应用程序的需求,并根据您的要求调整您的散射文件。关于您的STAPTFILE,在ER_IROM5的LR_IROM5中,将大小从0x20009440设置为0x00009440并与RW_IRAM52区域重叠,尝试将尺寸设置为(0x9000 - 0x440)。
谢谢mt_dialog.
谢谢你je_dialog。请检查(1)并尽快确认。如果不能使用相同的端口,我们是否需要在软件中使用其他其他端口?
hello hrg,for(1):是的,您可以执行以下操作:
然而,有一个“但”.. i2C RTC的地址应该与I2C内存的地址不同。
RTC可能具有地址设置(.e.g。a0)可能性。
BR JE_DIALOG.