完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我知道在PSoC 4的Flash模拟EEPROM,Flash是哪一块emaulated EEPROM呢?
它是否像PSoC 1一样可配置?我想有EEPROM是emaulated EEPROM的最后一块。 谢谢, -阿南德 以上来自于百度翻译 以下为原文 I know the flash in PSoC 4 is emulated as EEPROM, which block of Flash is emaulated as EEPROM? Is it is configurable as in PSoC 1 ? I would like to have the last block of EEPROM to be emaulated as EEPROM. Thanks, -Anandh |
|
相关推荐
8个回答
|
|
EEEPROM很容易使用:您只需在Flash中定义一个内存区域(使用“const”指令),并将该区域的地址和大小写入写入函数。仿真EEPROM用户模块没有可配置的参数,所有的操作都是通过API完成的。
鲍勃 以上来自于百度翻译 以下为原文 The EEEProm is quite easy to use: you just define an area of memory in flash (using the "const" directive) and give the address and size of the area to the write-function. The Emulated EEProm usermodule has no configurable parameters, everything is done via the APIs. Bob |
|
|
|
如果你想要绝对地址,我想鲍伯是对的。
对于EEPROM的位置,您必须只使用GCC指针。 将其数组化为绝对地址。 不同的ARM编译器有不同的处理方式。 www. kel.com /Sputp/DOCS/829HTM GCC,Realview CyPur.com/Keil手臂 问候,Dana。 以上来自于百度翻译 以下为原文 Bob is correct I think, if you want an absolute address location for EEPROM you would have to use pointer only for GCC on to effect array it to an absolute address. Different ARM compilers handle this differently. www.keil.com/support/docs/2829.htm GCC, Realview www.cypress.com/ Keil ARM Regards, Dana. |
|
|
|
鲍伯的问题。
使用指针方法,编译得足够智能,以保持跟踪。 在所有的绝对地址使用?知道有多少内存 留出EEPROM的使用,以及它在哪里,所以它不映射 在EEPROM上用其他东西? 我现在不太确定,只要使用指针就行了。我仍然认为 仍然需要保留一个绝对指令所需的内存。 你的想法? 问候,Dana。 以上来自于百度翻译 以下为原文 Question for Bob. Using pointer approach, is compile smart enough to keep track of all the absolute addresses used ? To know how much memory to set aside for EEPROM use, and where it is so it does not map over the EEPROM with other stuff ? I am not so sure now just using a pointer will work. I still think one still needs to set aside memory needed with an absolute directive. Your thoughts ? Regards, Dana. |
|
|
|
Dana
为了我这么多宣传的“可读性”,我总是使用不同的方法。 类似的东西 定义EEEPROME 1001 CONST UTEN8 EEEPROMARE [ EEEPROMESIZE ]; 或 const结构SmiyEePROM {UIT8编程;UTI8数据[EEPROMESSHOMES ];} MyEEEProm; 以后在代码中使用 结果= EEEPROFIX写(MyDATA,EEEPromArea,EEEPROMESIZE); 或 结果=EEEPROMETHORD(MyDATA,(UTIN 8*)(&;结构SMYEEEPROM),SIZEOF(StReSmieEePROM)); 这样即使阵列结构可能与写入单个元素在一定的结构可以进行。 自由伴随着责任:DoototoRead代码!!!! 鲍伯(只希望能少打字) 以上来自于百度翻译 以下为原文 Dana, for the sake of my so much propagated "Readability" I would always use a different approach. something like #define EEEPROMSIZE 1001 const uint8 EEEPromArea[EEEPROMSIZE]; or const struct sMyEEEProm { uint8 IsProgrammed; uint8 Data[EEPROMSIZE];} MyEEEProm; and later using in the code Result = EEEProm_Write(MyData,EEEPromArea,EEEPROMSIZE); or Result = EEEProm_Write(MyData,(uint8 *)(& struct sMyEEEProm),sizeof(struct sMyEEEProm)); This way even arrays of a struct are possible with writes to a single element within a certain struct can be performed. With freedom comes responsibility: DO NOT OVERWRITE YOUR CODE!!! Bob (Hoping for only few typos) |
|
|
|
我突然想到的是“自我修改代码”的“问题”。我不喜欢那种想法。
鲍勃 以上来自于百度翻译 以下为原文 What suddenly brings to my mind the "problem" of self-modifying code. I do not like the thought of that Bob |
|
|
|
当然,这种方法仍然没有强制EEPROM。
闪存中的最后地址 作为一个目标。 问候,Dana。 以上来自于百度翻译 以下为原文 Of course this approach still does not force the EEPROM to the last addresses in FLASH memory as originally stated as a goal. Regards, Dana. |
|
|
|
当然(或者更确切地说是“诅咒”),你可以把任何*HEX值分配给一个指针。
有一个闪光灯的结束 定义MyA Flash结尾Cyflash FraseBase+ Cyflash Flash大小 当知道大小时,可以很容易地计算EEEPROMYSTART的位置,并将计算的地址分配给组织EEEEPROM区域的结构的指针。 只要调整一个闪存启动和大小的定义,这将是独立的和编译器。 鲍勃 以上来自于百度翻译 以下为原文 Of course (or rather "curse" ) you may assign *ANY* hex value to a pointer. Having an end-of-flash which would be #define MY_FLASH_END CY_FLASH_BASE + CY_FLASH_SIZE one could easily calculate the location of an EEEPROM_START when the size is know and assigning that calculated address to a pointer of a structure that organizes the EEEProm-area. This will be target and compiler independent as long as one adjusts the #defines for flash start and size. Bob |
|
|
|
ncmza 发表于 2019-1-18 11:32 嗨,我和PSoC4在一起。 我使用的是4146AZI S423,EM EEPROM将它标记为不兼容的组件,但我认为如果我复制生成的源代码,可以使用它。 我的问题是如何使用相对方向,以及如何使“强制”仿真EEPROM开始在代码的末尾,例如。 我怎么看这些地址? 例子: USER数据,RAM中存储的5字节的结构,存储在EMAEEPROM的空间-0x00 -0x0F中 USELCONFIG,RAM中存储的4字节的结构,存储在一个预留的EMEEEEPROM中--- 0x10--0x1f 0x000 . 代码 . 0x01FFF ------------------ 0x02000 . 预留仿真EEMPROM: 0x2000—0x200:用户数据 0x2010~0x201F:用户配置 . . 0x02FFF ------------------ 谢谢。 以上来自于百度翻译 以下为原文 Hi, I´m a beginner with the Psoc4. I´m using a 4146AZI-s423 and the Em EEPROM marks it as incompatible component, but I think if I copy the generated source code, may be used it. My question are how to use with relative directions and how to make to “force” the emulated eeprom to start at the end of the code, for example. How can I read these address? Example: User_data, struct of 5 bytes in RAM stored in a space of Em_eeprom----0x00---0x0F User_config, struct of 4 bytes in RAM stored in a space reserved Em_eeprom ---0x10----0x1F 0x0000 . Code . 0x01fff ------------------ 0x02000 . Reserved Emulated eemprom: 0x2000-0x200F: User data 0x2010-0x201F: User Config . . 0x02fff ------------------- Thanks. |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2100 浏览 1 评论
1846 浏览 1 评论
3664 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1782 浏览 6 评论
1532 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
557浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
410浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
433浏览 2评论
379浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
905浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 06:42 , Processed in 1.470903 second(s), Total 91, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号