ARM V7是一個(gè)分水嶺擂送,其之前的V1~V6都是不同架構(gòu)悦荒,但是到V7已經(jīng)逐漸統(tǒng)一,V7已經(jīng)開始分為三個(gè)分類嘹吨,
A系列搬味、側(cè)重于上分時(shí)系統(tǒng);
R系列躺苦、側(cè)重于實(shí)時(shí)操控系統(tǒng)身腻,最早用于航天产还,現(xiàn)在應(yīng)用最多是汽車控制匹厘,
M系列、側(cè)重于消費(fèi)電子脐区,比如生活中的小家用電器愈诚,但功能并沒有那么弱,現(xiàn)在的M系列都可以使用比較強(qiáng)大的軟件,我們?cè)俸罄m(xù)學(xué)習(xí)中要使用的就是M4芯片炕柔。
我們使用的芯片是ST(意法半導(dǎo)體)廠家的酌泰,STM32系列產(chǎn)品比較著名,我們所使用的是STM32F429IGT6
最少的硬件環(huán)境(最小系統(tǒng)):
1.晶振(時(shí)鐘):時(shí)鐘源匕累,提供一個(gè)穩(wěn)定的方波陵刹;最早該時(shí)鐘是由RC電路提供,但該電路特別容易受到外界電磁輻射干擾欢嘿,經(jīng)過摸索逐漸得到石英石衰琐,在得到電激勵(lì)之后會(huì)獲得一個(gè)周期性的穩(wěn)定震蕩,不受外界干擾炼蹦,現(xiàn)在還有更加精細(xì)的時(shí)鐘源叫做原子鐘羡宙。其實(shí),芯片內(nèi)部也有一個(gè)RC電路作為時(shí)鐘源掐隐,在起始時(shí)間作為時(shí)鐘使用狗热。
2.復(fù)位:復(fù)位信號(hào)會(huì)導(dǎo)致程序重新運(yùn)行,這是一個(gè)很重要的硬件虑省,相當(dāng)于系統(tǒng)的發(fā)令槍匿刮,在整個(gè)學(xué)習(xí)和工作過程中,復(fù)位是極其常用的功能探颈。
3.電源
除此以外僻焚,我們系統(tǒng)中還有一個(gè)名為“自舉”的硬件,在存儲(chǔ)器中膝擂,有1M的flash256K的sRAM虑啤。其中sRAM相當(dāng)于內(nèi)存,flash相當(dāng)于硬盤架馋。自舉功能就可以選擇將程序燒入sram或flash中狞山,在平時(shí)如果想保留程序,則燒寫入flash中叉寂,在后續(xù)仿真中萍启,經(jīng)常燒寫入sRAM中對(duì)應(yīng)開發(fā)板中的BOOT0和BOOT1
教學(xué)順序:
1.SOC開發(fā)入門、理解程序運(yùn)行
2.多接口屏鳍、外設(shè)勘纯、片內(nèi)
3.實(shí)時(shí)操作系統(tǒng),RTOS(FreeRTOS)
4.GuI钓瞭、Stemwin
5.linux開發(fā)
I多任務(wù)驳遵、進(jìn)程、線程
II網(wǎng)絡(luò)編程
sytem on chip
soc
所謂外設(shè)指片內(nèi)外設(shè)山涡,位于片內(nèi)核外堤结;
Keil軟件現(xiàn)在歸屬ARM所以開發(fā)ARM核的工具唆迁,都可以使用Keil
集成開發(fā)工具,應(yīng)當(dāng)包含編輯器竞穷、編譯器唐责、燒寫和調(diào)試(仿真)仿真分為軟件仿真和硬件仿真,
IAR不局限于ARM核瘾带,但操作方式與Keil相同鼠哥,切換沒有難度。
硬件開發(fā)的起點(diǎn):工程創(chuàng)建看政,即多個(gè)C文件
build而非rebuild因?yàn)榫幾g是一個(gè)非常耗費(fèi)時(shí)間的過程肴盏,已經(jīng)編譯過的程序不要重新編譯;
1.新建工程
在路徑中自選位置帽衙,但注意不要在路徑中出現(xiàn)漢字菜皂,之后選擇使用的芯片,我們的芯片是STM32F429IGT6厉萝,所以應(yīng)當(dāng)選擇STM32F4-29-IG-Tx
在新建工程的路徑中恍飘,新建src文件夾,并將啟動(dòng)文件置入
并在keil中對(duì)該工程添加該啟動(dòng)程序
該過程中谴垫,對(duì)項(xiàng)目章母、組都可以進(jìn)行重命名,雙擊即可翩剪,然后點(diǎn)擊后面的add FILES添加啟動(dòng)文件:
選擇src文件夾后點(diǎn)擊全部文件類型乳怎,并找到啟動(dòng)文件,進(jìn)行添加前弯,此時(shí)編譯會(huì)報(bào)錯(cuò)蚪缀,主要是因?yàn)闆]有主函數(shù),此時(shí)進(jìn)行主函數(shù)創(chuàng)建
新建之后恕出,復(fù)制啟動(dòng)文件的190行關(guān)鍵字并在主函數(shù)文件中穿件同名空函數(shù)
保存主函數(shù)文件
進(jìn)行簡(jiǎn)單編寫询枚,
添加main文件
在魔法棒中選擇debug選項(xiàng)卡,將use選為CMSSIS-DAP Debugger
然后即可燒寫程序