十二月 6, 2012

嵌入式设计之:初学扫盲场

Written by

导语:

软硬结合才是王道!

搞了10多年的软件,始终抱有对底层机制的极大兴趣,不可避免的凯觎起硬件的地盘。苦于没有机会接触硬件设计方面的东西,所以只是纸上“看”兵,更别说动手做了。最近做了一些modbus协议方面的软件,加之对Linux还算比较熟悉,遂产生了使用硬件实现modbus数据集合的想法。

临渊羡鱼不如退而结网,说做就做吧,此时不动手更待老死墓中?

一、MUC简介和选型:RAM or Flash

一度分不清MCU中的Flash和RAM充当什么角色。

实际上,MCU中的RAM相当于PC的内存,程序都是装在在这里供MCU执行单元执行的。而Flash相当于PC的硬盘,如果是裸奔,那么写的固件都是烧在这个Flash里面的。MCU中的Flash一般都很小,只有几十K或者几百K,一度以为Flash才是内存或者二级缓存啥的,汗。

如果你规划中的系统需要运行Linux,那么你需要给它加个“硬盘”,而读写硬盘的地址就是通过Flash来映射的。具体的可能在后面会涉及到。

RAM:MCU的片上内存;

FLASH:MCU的片上“硬盘”,有擦写次数限制,一般为10^4次;

EEPROM:用来存储参数的区域,据说可以用Flash模拟EERPOM;

SRAM:通俗讲,就是扩展的内存。

二、电路设计:自定义元件库

有些元件在库中是找不到的,比如新出的MCU。这个时候只有自己做了,方法是在orCAD Capture中新建Library,制作完毕后就可以在电路设计时使用。

但是我碰到一个悲催的问题,设计完元件图,然后在电路设计时使用,添加完元件后,缺发现有个地方不对,需要到元件库中修改此元件,改完之后,再在电路设计图中使用,却总是提示:

Part is out of date with respect to the design cache.use update cache to synchronize the part in the cache with the library.

郁闷的是此问题卡了我两天!

解决俄方法也很简单,网上查到的(悲催的百度只能搜国内的内容,而且基本都是广告,真的是一点用的没有,纯粹一个无赖废物。今天在打开google主页之前默认三遍上帝保佑,还真打开了,感谢上帝顾念苍生!):

选择File目录树,点file.dsn前面的”+”,再点Design Cache前面的”+”,找到你所出错的Part名称,右击,Update一下,问题解决!!!

 

Category : ARMKernelLinux/UnixMCU嵌入式开发

Tags :

发表评论

电子邮件地址不会被公开。

Proudly powered by WordPress and Sweet Tech Theme