存储元件就是单片机,外观跟集成块一样。
写入设备就是单片机烧录器。
单片机 烧录器 跟控制代码是配套的。也就是说什么型号的单片机就决定了烧录机的型号,跟相应的编录语言。 单片机从写入语言后,要把控制语言应用于电路还需要相应的外围电路才可以“读”出里面的语言,那个叫 仿真机。
那个存储元件叫单片机。搜索下 单片机 就有找到相关的介绍。
特别针对c/c++阐述,32位和64位源码级的不同,归根结底,就是机器字(设计指针的宽度)的位宽变化了,因此:1、一些基本类型位宽变化了,还有一些类型位宽不确定,比如说int,相信99%的32位编译器(未作统计)都将int视为32位有符号型,但在64位编译器上,这点是不确定的,ms的编译器,int型都还是32位有符号整型,但印象中存在某个平台的gcc编译器将int位宽增加到64位。诸如此类,需要特别注意
2、强制类型转换代码需特别注意,特别是c开发人员,对于指针和整型的理解已炉火纯青,借由整型空间存储指针的方法是很常用的(也是很方便的),由于强制转换代码的存在,编译器并不会提示诸如64位到32位转换中可能的信息损失,这也就导致了运行时可能的问题爆发。这一点需要特别注意,严查代码各处的强制转换。
3、模块间调用,严格说这一点还是由位宽变化导致的,做法还是需要筛查类型是否匹配的问题
随便想来,就上述三条逐一考察解决,应该就没太多问题了,如有疏漏,还望担待
stm32程序移植到cortex-m3:1、点开魔术棒,device中修改芯片型号为stm32f103c8t6。
2、点击编译会提示有一大堆错误和警告点击第一个错误进入到stm32f10x.h头文件中的defineSTM32F10X_HD将这个宏定义全部屏蔽这时在编译则没有问题。
3、烧录的时候丢失CORTEX-M3则点击魔术棒中Utilities中的setting将ADD加入stm32f10xmed-density128K的安装包,之前存在则需要先remove这个包,再重新加入这个包。这样便可以烧录进去。
4、完成移植。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)