ARM V7是一个分水岭,其之前的V1~V6都是不同架构,但是到V7已经逐渐统一,V7已经开始分为三个分类,
A系列、侧重于上分时系统;
R系列、侧重于实时操控系统,最早用于航天,现在应用最多是汽车控制,
M系列、侧重于消费电子,比如生活中的小家用电器,但功能并没有那么弱,现在的M系列都可以使用比较强大的软件,我们再后续学习中要使用的就是M4芯片。
我们使用的芯片是ST(意法半导体)厂家的,STM32系列产品比较著名,我们所使用的是STM32F429IGT6
最少的硬件环境(最小系统):
1.晶振(时钟):时钟源,提供一个稳定的方波;最早该时钟是由RC电路提供,但该电路特别容易受到外界电磁辐射干扰,经过摸索逐渐得到石英石,在得到电激励之后会获得一个周期性的稳定震荡,不受外界干扰,现在还有更加精细的时钟源叫做原子钟。其实,芯片内部也有一个RC电路作为时钟源,在起始时间作为时钟使用。
2.复位:复位信号会导致程序重新运行,这是一个很重要的硬件,相当于系统的发令枪,在整个学习和工作过程中,复位是极其常用的功能。
3.电源
除此以外,我们系统中还有一个名为“自举”的硬件,在存储器中,有1M的flash256K的sRAM。其中sRAM相当于内存,flash相当于硬盘。自举功能就可以选择将程序烧入sram或flash中,在平时如果想保留程序,则烧写入flash中,在后续仿真中,经常烧写入sRAM中对应开发板中的BOOT0和BOOT1
教学顺序:
1.SOC开发入门、理解程序运行
2.多接口、外设、片内
3.实时操作系统,RTOS(FreeRTOS)
4.GuI、Stemwin
5.linux开发
I多任务、进程、线程
II网络编程
sytem on chip
soc
所谓外设指片内外设,位于片内核外;
Keil软件现在归属ARM所以开发ARM核的工具,都可以使用Keil
集成开发工具,应当包含编辑器、编译器、烧写和调试(仿真)仿真分为软件仿真和硬件仿真,
IAR不局限于ARM核,但操作方式与Keil相同,切换没有难度。
硬件开发的起点:工程创建,即多个C文件
build而非rebuild因为编译是一个非常耗费时间的过程,已经编译过的程序不要重新编译;
1.新建工程
在路径中自选位置,但注意不要在路径中出现汉字,之后选择使用的芯片,我们的芯片是STM32F429IGT6,所以应当选择STM32F4-29-IG-Tx
在新建工程的路径中,新建src文件夹,并将启动文件置入
并在keil中对该工程添加该启动程序
该过程中,对项目、组都可以进行重命名,双击即可,然后点击后面的add FILES添加启动文件:
选择src文件夹后点击全部文件类型,并找到启动文件,进行添加,此时编译会报错,主要是因为没有主函数,此时进行主函数创建
新建之后,复制启动文件的190行关键字并在主函数文件中穿件同名空函数
保存主函数文件
进行简单编写,
添加main文件
在魔法棒中选择debug选项卡,将use选为CMSSIS-DAP Debugger
然后即可烧写程序