摘要:前言一啟動(dòng)流程二代碼移植硬件介紹代碼移植總結(jié)前言最近在學(xué)習(xí)這個(gè)開發(fā)板,手邊有韋東山老師的全功能板子,為了練習(xí)學(xué)習(xí)的初步效果,采用了正點(diǎn)原子的視頻課程進(jìn)行學(xué)習(xí)。
? ? ? ? 最近在學(xué)習(xí)IMX6ULL這個(gè)開發(fā)板,手邊有韋東山老師的imx6ull全功能板子,為了練習(xí)學(xué)習(xí)的初步效果,采用了正點(diǎn)原子的視頻課程進(jìn)行學(xué)習(xí)。首先移植了一個(gè)基本的LED控制實(shí)驗(yàn)。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
? ? ? ? 我們手頭上的開發(fā)板一般都有直接的撥碼開關(guān)來控制IMX6ULL的啟動(dòng)方式,常見的有SD卡、USB、EMMC等。這里各位根據(jù)開發(fā)板設(shè)置一下即可。(具體IMX6ULL的啟動(dòng)方式選擇和啟動(dòng)設(shè)備選擇可參考正點(diǎn)原子的,感覺寫的不錯(cuò))。
我這里選擇SD卡進(jìn)行。
正點(diǎn)原子開發(fā)板LED原理圖如下:
?韋東山開發(fā)板LED原理圖如下:
?
原子采用的是GPIO1_3,韋東山開發(fā)板采用的是GPIO5_3.其配在過程主要如下:
例程中,對(duì)應(yīng)的引腳地址已全部更改,注釋保留原子的,具體大家可以上原子網(wǎng)站找,同時(shí)為開發(fā)板上電,有微弱電流,會(huì)使LED亮,為確保修改成功,添加了延時(shí)函數(shù),大家調(diào)整delay中的r2即可觀察到閃爍頻率的不同。具體代碼如下:
.global _start /* 全局標(biāo)號(hào) *//* * 描述: _start函數(shù),程序從此函數(shù)開始執(zhí)行此函數(shù)完成時(shí)鐘使能、 * GPIO初始化、最終控制GPIO輸出低電平來點(diǎn)亮LED燈。 */_start: /* 例程代碼 */ /* 1、使能所有時(shí)鐘 */ ldr r0, =0X020C4068 /* CCGR0 */ ldr r1, =0XFFFFFFFF str r1, [r0] ldr r0, =0X020C406C /* CCGR1 */ str r1, [r0] ldr r0, =0X020C4070 /* CCGR2 */ str r1, [r0] ldr r0, =0X020C4074 /* CCGR3 */ str r1, [r0] ldr r0, =0X020C4078 /* CCGR4 */ str r1, [r0] ldr r0, =0X020C407C /* CCGR5 */ str r1, [r0] ldr r0, =0X020C4080 /* CCGR6 */ str r1, [r0] /* 2、設(shè)置GPIO5_IO03復(fù)用為GPIO1_IO03 */ ldr r0, =0X2290014 /* 將寄存器SW_MUX_GPIO1_IO03_BASE加載到r0中 */ ldr r1, =0X5 /* 設(shè)置寄存器SW_MUX_GPIO1_IO03_BASE的MUX_MODE為5 */ str r1,[r0] /* 3、配置GPIO5_IO03的IO屬性 *bit 16:0 HYS關(guān)閉 *bit [15:14]: 00 默認(rèn)下拉 *bit [13]: 0 kepper功能 *bit [12]: 1 pull/keeper使能 *bit [11]: 0 關(guān)閉開路輸出 *bit [7:6]: 10 速度100Mhz *bit [5:3]: 110 R0/6驅(qū)動(dòng)能力 *bit [0]: 0 低轉(zhuǎn)換率 */ ldr r0, =0X02290058 /*寄存器SW_PAD_GPIO1_IO03_BASE */ ldr r1, =0X10B0 str r1,[r0] /* 4、設(shè)置GPIO5_IO03為輸出 */ ldr r0, =0X020AC004 /*寄存器GPIO1_GDIR */ ldr r1, =0X0000008 str r1,[r0]flash: /* 5、打開LED0 * 設(shè)置GPIO5_IO03輸出低電平 */ ldr r0, =0X020AC000 /*寄存器GPIO1_DR */ ldr r1, =0 str r1,[r0] bl delay ldr r0, =0X020AC000 ldr r1, =8 str r1,[r0] bl delay b flash /* * 描述: loop死循環(huán) */loop: b loop // 延時(shí)函數(shù):函數(shù)名:delaydelay: ldr r2, =1000000 ldr r3, =0x0delay_loop: sub r2, r2, #1 //r2 = r2 -1 cmp r2, r3 // cmp會(huì)影響Z標(biāo)志位,如果r2等于r3則Z=1,下一句中eq就會(huì)成立 bne delay_loop mov pc, lr // 函數(shù)調(diào)用返回
僅僅用于學(xué)習(xí)中筆記的記錄,LED在不同開發(fā)板實(shí)現(xiàn)要點(diǎn):
1、不同開發(fā)板啟動(dòng)方式有EMMC、SD卡和USB,這里僅僅是裸機(jī)學(xué)習(xí),因此可以采用SD卡和USB,這里采用SD卡進(jìn)行,USB暫未進(jìn)行。
2、對(duì)于不同引腳,應(yīng)該進(jìn)行修改
3、用匯編添加了延時(shí)函數(shù)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/119498.html
摘要:聲明本專欄參考韋東山,野火,正點(diǎn)原子以及其他博主的教程,如若侵權(quán)請(qǐng)告知,馬上刪帖致歉,個(gè)人總結(jié),如有不對(duì),歡迎指正。 聲明:本專欄參考韋東山,野火,正點(diǎn)原...
本文代碼均來正點(diǎn)原子標(biāo)準(zhǔn)例程 聲明:本文不是教學(xué)文章,可能也不適合初學(xué)者閱讀 不知為什么,最近總蹦出有很多想法(可能是工作太閑了)一會(huì)想學(xué)這,一會(huì)想學(xué)那,這不,突然想復(fù)習(xí)一下STM32了。 我好久以前就學(xué)過正點(diǎn)原子的課程,還買過一些開發(fā)板,但現(xiàn)在手上只有一個(gè)核心板了,就暫且湊合著用吧。 我是個(gè)喜歡制定計(jì)劃的人,既然有了想法,那就得制定一個(gè)學(xué)習(xí)計(jì)劃,估摸了一下,明天要上班,現(xiàn)在已經(jīng)中午了,所以我只...
摘要:使用實(shí)現(xiàn)連網(wǎng)實(shí)現(xiàn)巴法云物聯(lián)網(wǎng)使用硬件程序思路基于正點(diǎn)原子的測(cè)試程序在巴法云物聯(lián)網(wǎng)創(chuàng)建的主題初始化代碼比較簡(jiǎn)陋主函數(shù)代碼如果想用串口助手調(diào)試,接線方法如下使用硬件我這里使用的是正點(diǎn)原子家的開發(fā)板精英版和模塊。 ...
摘要:此文章用于解決開發(fā)板的模塊中文字庫(kù)加載問題,也可用于其它關(guān)于中文字庫(kù)無法加載的問題。如下圖,已經(jīng)完成了中文字庫(kù)燒入,無需再掛載。 正點(diǎn)原子stm32mini板lor...
摘要:本章我們將使用高速芯片實(shí)現(xiàn)數(shù)模轉(zhuǎn)換,產(chǎn)生正弦波模擬電壓信號(hào)。實(shí)驗(yàn)任務(wù)本節(jié)實(shí)驗(yàn)任務(wù)是使用新起點(diǎn)開發(fā)板及雙路高速擴(kuò)展模塊模塊實(shí)現(xiàn)數(shù)模轉(zhuǎn)換。下載驗(yàn)證將雙路高速模塊插入新起點(diǎn)開發(fā)板的擴(kuò)展口,連接時(shí)注意擴(kuò)展口電源引腳方向和開發(fā)板電源引腳方向一致。 ...
閱讀 3022·2021-11-23 09:51
閱讀 1016·2021-09-26 09:55
閱讀 3972·2021-09-22 14:58
閱讀 1504·2021-09-08 09:35
閱讀 1086·2021-08-26 14:16
閱讀 891·2019-08-23 18:17
閱讀 2073·2019-08-23 16:45
閱讀 709·2019-08-23 15:55