前言
-
一、IMX6ULL 啟動流程?
二、LED代碼移植
1.硬體介紹
2.代碼移植
總結
前言
最近在學習IMX6ULL這個開發板,手邊有韋東山老師的imx6ull全功能板子,為了練習學習的初步效果,采用了正點原子的視頻課程進行學習,首先移植了一個基本的LED控制實驗,
提示:以下是本篇文章正文內容,下面案例可供參考
一、IMX6ULL 啟動流程?
我們手頭上的開發板一般都有直接的撥碼開關來控制IMX6ULL的啟動方式,常見的有SD卡、USB、EMMC等,這里各位根據開發板設定一下即可,(具體IMX6ULL的啟動方式選擇和啟動設備選擇可參考正點原子的,感覺寫的不錯),
我這里選擇SD卡進行,
二、LED代碼移植
1.硬體介紹
正點原子開發板LED原理圖如下:

韋東山開發板LED原理圖如下:

2.代碼移植
原子采用的是GPIO1_3,韋東山開發板采用的是GPIO5_3.其配在程序主要如下:
例程中,對應的引腳地址已全部更改,注釋保留原子的,具體大家可以上原子網站找,同時為開發板上電,有微弱電流,會使LED亮,為確保修改成功,添加了延時函式,大家調整delay中的r2即可觀察到閃爍頻率的不同,具體代碼如下:
.global _start /* 全域標號 */
/*
* 描述: _start函式,程式從此函式開始執行此函式完成時鐘使能、
* GPIO初始化、最終控制GPIO輸出低電平來點亮LED燈,
*/
_start:
/* 例程代碼 */
/* 1、使能所有時鐘 */
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、設定GPIO5_IO03復用為GPIO1_IO03 */
ldr r0, =0X2290014 /* 將暫存器SW_MUX_GPIO1_IO03_BASE加載到r0中 */
ldr r1, =0X5 /* 設定暫存器SW_MUX_GPIO1_IO03_BASE的MUX_MODE為5 */
str r1,[r0]
/* 3、配置GPIO5_IO03的IO屬性
*bit 16:0 HYS關閉
*bit [15:14]: 00 默認下拉
*bit [13]: 0 kepper功能
*bit [12]: 1 pull/keeper使能
*bit [11]: 0 關閉開路輸出
*bit [7:6]: 10 速度100Mhz
*bit [5:3]: 110 R0/6驅動能力
*bit [0]: 0 低轉換率
*/
ldr r0, =0X02290058 /*暫存器SW_PAD_GPIO1_IO03_BASE */
ldr r1, =0X10B0
str r1,[r0]
/* 4、設定GPIO5_IO03為輸出 */
ldr r0, =0X020AC004 /*暫存器GPIO1_GDIR */
ldr r1, =0X0000008
str r1,[r0]
flash:
/* 5、打開LED0
* 設定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死回圈
*/
loop:
b loop
// 延時函式:函式名:delay
delay:
ldr r2, =1000000
ldr r3, =0x0
delay_loop:
sub r2, r2, #1 //r2 = r2 -1
cmp r2, r3 // cmp會影響Z標志位,如果r2等于r3則Z=1,下一句中eq就會成立
bne delay_loop
mov pc, lr // 函式呼叫回傳
總結
僅僅用于學習中筆記的記錄,LED在不同開發板實作要點:
1、不同開發板啟動方式有EMMC、SD卡和USB,這里僅僅是裸機學習,因此可以采用SD卡和USB,這里采用SD卡進行,USB暫未進行,
2、對于不同引腳,應該進行修改
3、用匯編添加了延時函式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298435.html
標籤:其他
上一篇:面向物件 方法
