新闻中心

EEPW首页>嵌入式系统>设计应用> 程序移植中的常见问题总结

程序移植中的常见问题总结

作者: 时间:2016-12-01 来源:网络 收藏
现象:

芯片驱动正常,功能应用单独实现也没有任何问题。但是将其移植到主程序中出现了时钟显示停止、触屏失效、参数显示出现问题的现象。

原因:
在芯片驱动程序的开发中,忽略了一个问题。那就是该芯片引脚占用的IO资源在初始化的时候不应该改变其他引脚的正常功能工作。初始化芯片时人为的改变了其余功能引脚的作用。将其功能复用功能人为了改成了输出引脚。只关注了该芯片正常工作时的IO引脚,忽略了其余各IO口的复用状态。后逐条分析查看原主程序中 IO的初始化操作,逐口比对发现了该问题。

解决方案:
重新对接口进行初始化,保留其余引脚的功能复用作用。

总结:
工作要细致,不要犯想当然的毛病。出现问题后要冷静,咬人是不对的,呵呵。。。

本文引用地址://m.amcfsurvey.com/article/201612/324469.htm

一、关于延时

芯片时序要求非常严格,最基本的时间单位一定要非常精确,精确到微秒级。这是进行后续工作的基础。因为C语言来编程,不是很好控制延时的长短。故采用测试的方法进行,为了最大可能的减小误差,采用延长测试时间的方式进行。其基本思想是延时一定时间后,将其时间在屏幕上打印出来,并分析各两次时间的间隔和具体延时参数之间的关系。例如:当延时参数为60000000时,各两次时间间隔是否小于1分钟。【备注:60000000us=1min】

二、对芯片的读写操作验证

进行芯片自我验证,向芯片暂存器的固定字节写入数据,然后一个字节一个字节读出来,比对写入和读出的数据是否一样。

三、非易失操作的必要性

RAM数据暂存器用于内部计算和数据的存取,数据在掉电后丢失。为长期保存需要保存的数据信息,需要将相关数据信息由暂存器拷贝到EEPROM中。
上电复位后,芯片自动将EEPROM中相关字节拷贝到RAM中。

四、非必需操作的必要性

芯片读取操作,首先读取数据的低8位,再读取数据的高8位。无论是低8位还是高8位,都是从最低位一位一位的读。即使低位是不需要的字节也要读出来,这叫规则。



关键词:程序移植芯片驱

评论


技术专区

关闭