完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我有一个基于PICDEM.NET 2演示板的PIC18自定义板。它包含了AOF存储。它还具有以太网MAC地址的ASPI EEPROM。我正在将设计迁移到PIC32 MZ。我希望看到一个HARMony驱动程序能够使用这些,特别是MAC地址芯片来加载到以太网驱动程序中。看起来Harmony的例子之一是SPI EEPROM,所以代码库就在那里。这更多的是将其迁移到Harmony驱动程序模型,并添加适当的配置元语言,以便以太网驱动程序可以利用它。
|
|
相关推荐
8个回答
|
|
|
我很想去看看。你能在Github上呕吐吗?(这是从和谐中得到的东西吗?)(我没有意识到和谐2。啊,我在底部的和声页上看到了。我得调查一下!)
|
|
|
|
|
|
config zip中的.ftl文件在此处显示:C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\找出这件事中的关键因素是用于SPI的RTEIDEAD3函数。查看SPI闪存库以及如何读取操作将帮助您理解。它是一个EEPROM读取的OP代码和地址,它可以使工作变得更加整洁。SPI Flash库提供了一个读取函数,它返回您所请求的数据的任意长度的缓冲区。不幸的是,为了利用当前能力做到这一点,驱动程序需要将CS拉低,将写操作放在队列上,将读操作放在队列上,然后将CS拉高。问题在于,如果总线上有其他设备,那么它们可能将消息添加到写和读消息之间的SPI队列中。RealeReAD3允许您指定偏移量,因此可以使用单个消息。这允许您为这些库使用Cclion Dead函数,以便自动化CS低/高操作。
SPI和EEPROM驱动器.ZIP(151.91 KB)-下载237次 |
|
|
|
|
|
我应该指出的是,这是来自微芯片的25AA512 EEPROM。当我有时间的时候,我想把这个扩展到其他EEPROM。遗憾的是,它们没有通用的ID,比如Flash芯片。然后可以创建通用驱动程序。
|
|
|
|
|
|
大多数设计都有有限数量的认可芯片。通用驱动器的附加代码通常不值得考虑复杂性和空间。
|
|
|
|
|
|
谢谢。我记得在PIC18项目中,为了获得芯片容量,我必须调整MLA驱动程序,因为地址字段的宽度基于此而变化。
|
|
|
|
|
|
这是我必须在代码中解决的问题。SPI闪存驱动程序广泛地使用像256这样的魔术数字,而不是PAGE_SIZE常数,或4来发送字节数,而不是操作码长度和地址宽度的某个常数。的确,它们对于一个特定的芯片来说确实是恒定的,但总体来说这是一个糟糕的做法。
|
|
|
|
|
|
我可以确认bblessing的驱动程序是可用的。它已经被配置为Harmony 2.0,但是经过一些推拿工作,我可以让它在2.01b上工作。请注意,驱动程序配置文件有一些额外的DAC8501条目,这些条目看起来是他的设置定制的,并且不需要。好的,大约一个小时半,可以开始工作,并完全融入到2.01b的框架中,其中包括我重新工作SPI EEPROM驱动程序,以便与M950x0 2kbiteeprom一起工作。两个具有不同波特率的设备工作得很好。用逻辑分析仪仔细分析之后,我可以确认驱动程序SST25使CS保持低电平,并且离开SPI,允许EEPROM执行命令。我还没有修复它。***bblessing非常感谢您发布这段代码。微芯片请拿着这个软件,修改SST25驱动程序,使之很好地工作,并把它放在和谐框架,供大家使用!
|
|
|
|
|
|
我想我不允许发布密码…很抱歉,垃圾格式化是一个例子,下面的代码块是SST25驱动程序上读状态命令的重写代码,您可以看到我更改和注释的部分以使其生效。DrvIsSt2525Obj*DObj{DrvISPixBuffrEyEngultEngultEv= DRVYSPIXBuffReEngEnvipTund;Switter(DOBJ-G.StUnStand){HealDrvsSt2525StasuSuxReGueReWordEng:CMD:默认值:{dObj-& Gt;CMDPARAMS(0)=DOBJ & Gt;OpCODES.RealStase//DOBJ-&;DabablsS=false;//DVVISPIXBuffRADADWRIGED2()费尔菲事件CMDPARAMS〔0〕,1, 0,DOBJ-&G.DabablsReals:DvViSpIsBuffEdRead Read Erd3(DOBJ & GT;SPIDRiver句柄,&DOB->CMDPARAMS〔0〕,1,&DOB->StutsReg(0),1, 0,DOBJ,&DAMB-&G.SPIPUFFER句柄,1);IF(DOB->dObj- &;SPIDRiver句柄,&DAMB->句柄!{ //dObjlAdHeLeLoad无效){//dObjsSt2525StasuxReq.CuqLoWrdEngStest.DoBo-DSTV25St2525StasuxReq.ClaseRead状态;} {事件=DrvlSpIsBuffrEyEngEngRead;} Burd;} //DrvySt2525StasuxReq.CuqScript写状态://{事件=DrviSpiffBuffStand(DO)bj->spiBufferHandle);//if(event==DRV_SPI_BUFFER_BUFFER_EVENT_COMPLPLETE)////{/////dObj->_//////{//dObj-/dObj-/dObj->_BUFFER EVENT_EVENT_COMPLPL_COMPLPL)//{///{/dObj//dObj-dObj->>.;.->.;.Cs=true;////如果(dObj(dObj(dObj)->spiBufferHandle!等于DRV_SPI_BUFI_BUFIFI_BUFIFI_HANDLE_INVAVALID)///{////dObj->____///////////////////////////////////////dObj->__->________-亚州=DRV_SST25_STATUS_STATUS_STAT25_STAT25_STATUS_REREREREREREREREREGRERERERERERE_RERERERERE_REKKKKKKREREREKKRE_RETE_REREG_CHECK_READ_STATUS:{event=DRV_SPI_Buffer.(dObj->sp;中断;}返回事件;}
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1122浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:03 , Processed in 0.850466 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1095