有51基础很容易入门ARM是真的吗.doc

有51基础很容易入门ARM是真的吗.doc

ID:28100663

大小:106.00 KB

页数:8页

时间:2018-12-08

有51基础很容易入门ARM是真的吗.doc_第1页
有51基础很容易入门ARM是真的吗.doc_第2页
有51基础很容易入门ARM是真的吗.doc_第3页
有51基础很容易入门ARM是真的吗.doc_第4页
有51基础很容易入门ARM是真的吗.doc_第5页
资源描述:

《有51基础很容易入门ARM是真的吗.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、有51基础很容易入门ARM是真的吗  从51到ARM,这路怎么走?  51都是有地址映射的(即SFR,特殊功能寄存器),在头文件reg52.h里面,不知道ARM有没有,且不知道如何调用。以STM32为例,官方有提供个固件库,也就是好几个文件夹和几十个文件,里面有会汇编写的,也有用C写的,貌似也有地址映射,貌似里面的地址映射语句不是像51里面用sfr来表示的,貌似是用#define来定义的,这边搞糊涂了。  固件库中还包含了很多打包好的程序,比如说各种传输协议要用到的程序。但我的思维还停留在51,并且我不知

2、道停留在51的这种思维是否是正确的:那就是,完全自己编码,除了sfr定义,包括很多包装好的函数,自己写出来才算学会。这种思维,不知道在ARM学习上是否同等适用,难道学ARM时上了个层次,就直接在别人打包好程序的基础上做产品了吗?    必须强调,在上位机,PC软件方面,是得调用操作系统的很多函数、库,这个没办法,因为强大的PC界面及功能,如果底层驱动什么的都自己写的话会累死,而且不一定有成效。但ARM不同,不同在他比PC低一层次,但同时又高51一个层次,所以我纠结了。  并且我现在不知何从入手,就算是将固

3、件库搞明白也得花不少时间。但我觉得,如果让ARM点亮一个小LED,应该用不上那么多固件库或函数,只要能点亮个LED就行,这么低的要求,应该是用到很少的语句及配置程序,但网上所有的教程基本上首先就教你:如何调用所有的官方库,这无疑让初学者陷入泥潭。  良心答主:我看楼主浮躁得不得了。现在什么都不要做了,先去看几遍《不要做浮躁的嵌入式工程师》这篇文章,想清楚了,再动手吧。  我做了个实例,不用ST的库来点LED,解答你的问题我的KeilMDK3.5我的STM32板子奋斗版是,IC是STM32F103VET6调

4、试工具JLINKV8LED接在PB5,高电平点亮既然说一定懂C语言了,那么对于下面我的问题,不查百度,完全靠自己,懂多少?然后查了百度之后又能懂多少?  (一)新建keil工程,IC选择ST公司的STM32F103VE,keil提示是否copy启动文件,选择是。这里有问题,你有没有读过这个启动头文件?51也是同样的启动文件,51的那个启动文件有没有读过?你知道头文件里面做了什么吗?C语言真的从main函数开始吗?运行时库是什么?这些资料从什么地方知道?keil编译器的行为?(如果你说头文件是汇编的,没有必

5、要看,那我当我没说)例如启动文件里面有这么一句,我的问题是__main这个标号在哪里实现的,注意,这里肯定不是main函数这里跳到哪里去了?还有个问题[WEAK]这里是什么意思?有什么用?  Reset_HandlerPROC  EXPORTReset_Handler  [WEAK]  IMPORT__main  LDRR0,=__main  BX  R0  (二)新建一个main.c并且写一个main函数,什么都不做,这和51一样了。  voidmain(void){  while(1)  {  }}然

6、后因为我需要调试,则设置jlink调试器,在项目属性里面Debug标签,UseJ-LINK/J-TRACE,然后到utilities标签,同样选择J-LINK/J-TRACK,并且选择Setting按钮,里面的ProgrammingAlgorithm还是空的,表示keil不知道目标是什么,我添加一个STM32F10XHigh-densityFlash,问题,为什么是High-desity?依据是什么?全部确认返回。这个时候已经可以编译,开发板上电,已经可以下载仿真的,虽然程序什么都没有写  (三)既然硬件

7、,仿真器,调试都准备好了,接着就开始写程序了。  我一直推荐新手花钱买学习板和仿真器,因为可以排除硬件的问题,让初学者集中精力去写程序,而不用怀疑硬件有问题,这点很重要。这阶段主要是看书,了解这个IC的架构,了解指令集,了解寄存器(别跟我说你找不到这些资料?)Cortex-M3权威指南CnR2(电子书).pdfSTM3210x参考手册.pdf学习板原理图博客,论坛等多个帖子,务必要对整个IC有个初步的了解。这个过程有点痛苦,但是值得花这个时间。  (四)开始写LED  既然我们要操作IO口,当然就要看IO

8、口相关的知识。打开STM3210x参考手册.pdf,我的目的只是操作GPIO所以我只需要将第五章看完就OK了。章节比较多,懒得看,根据一般的经验(你缺经验了吧?),不说多就AVR和PIC而已。操作IO一般是两个步骤,第一,操作IO控制寄存器,设置IO为输出,第二就是送数据。那么很明显,只可能是GPIOx_CRLGPIOx_CRH,GPIOx_ODR三个寄存器会有想要仔细阅读这几个寄存器的介绍后知道,GPIOx_CRL是控制PI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。