1、打開vscode新建led.s
代碼如下:
/**************************************************************
Copyright ? lugl.
文件名 : led.s
作者 : 劉建華
版本 : V1.0
描述 : 裸機實驗 1 匯編點燈
使用匯編來點亮開發(fā)板上的 LED 燈,學習和掌握如何用匯編語言來
完成對 I.MX6U 處理器的 GPIO 初始化和控制。
其他 : 無
日志 : 初版 V1.0 2023.5.1 學習左中凱老師例程
**************************************************************/
.global _start /* 全局標號 */
/*
*描述: _start函數(shù),程序從此函數(shù)開始,執(zhí)行此函數(shù)完成時鐘使能、
* GPIO初始化、最終控制GPIO輸出低電平來點亮LED燈
*/
_start:
ldr r0, = 0x020c4068 @寄存器CCGR0
ldr r1, = 0xFFFFFFFF
str r1, [r0] @寫入CCGR0寄存器
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]
/* 初始化時鐘結(jié)束 */
/* 開始設置GPIO1_IO03的IO屬性
*bit 16: 0 HYS關(guān)閉
*bit [15:14]: 00 默認下拉
*bit [13]: 0 kepper 功能
*bit [12]: 1 pull/kepper 使能
*bit [11]: 0 關(guān)閉開路輸出
*bit [7:6]: 10 速度100 MHz
*bit [5:3]: 110 R0/6驅(qū)動能力
*bit [0] : 0 低轉(zhuǎn)換率
0b0 0001 0000 1011 0000
0x00 00 10 B0
*/
ldr r0, = 0x020e02f4 @ 寄存器SW_PAD_GPIO1_IO03_BASE
ldr r1, = 0x000010b0 @ 配置寄存器值
str r1, [r0] @ 寫入GPIO的配置值
/* 設置 GPIO1——IO03 為輸出*/
ldr r0, = 0x0209c004 @ 寄存器GPIO1——GDIR
ldr r1, = 0x00000008
str r1, [r0]
/* 打開LED0 */
ldr r0, = 0x0209c000 @ 寄存器GPIO1_DR
ldr r1, = 0
str r1, [r0]
loop:
b loop
2、保存后,再編寫makfile
led.bin:led.s
arm-linux-gnueabihf-gcc -g -c led.s -o led.o
arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf
arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin
arm-linux-gnueabihf-objdump -D led.elf > led.dis
clean:
rm -rf *.o led.bin led.elf led.dis
3、然后把這兩個文件拷貝到虛擬機新建好的linux-tool下面

4、拷入一個正點原子專用的燒寫工具imxdownload,并且修改他的執(zhí)行權(quán)限:chmod 777 imxdownload
5、插入一個SD,我這里用的是《雷龍發(fā)展提供的CS創(chuàng)世SD NAND》


用ls /dev/sd*查看是否加載好:

因為我用的Nflash卡,所以不象教程里面說的SDD卡,我這里是sdb。

6、執(zhí)行燒寫
lugl@lugl-virtual-machine:~/linux/tool$ ./imxdownload led.bin /dev/sdb
I.MX6ULL bin download software
Edit by:zuozhongkai
Date:2019/6/10
Version:V1.1
log:V1.0 initial version,just support 512MB DDR3
V1.1 and support 256MB DDR3
file led.bin size = 144Bytes
Board DDR SIZE: 512MB
Delete Old load.imx
Create New load.imx
Download load.imx to /dev/sdb ......
記錄了6+1 的讀入
記錄了6+1 的寫出
3216字節(jié)(3.2 kB,3.1 KiB)已復制,0.0111069 s,290 kB/s
顯示燒寫成功。
7、把卡插到開發(fā)板上,上電,稍等一會,就看到開發(fā)板的DS0燈亮了。

審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
led
+關(guān)注
關(guān)注
243文章
24602瀏覽量
690984 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6293瀏覽量
118221 -
匯編
+關(guān)注
關(guān)注
2文章
214瀏覽量
27424
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
LED燈珠壽命如何提升50%
、電路、環(huán)境等多重因素影響,損壞概率差異顯著 —— 優(yōu)質(zhì) LED 燈珠在合理使用下可穩(wěn)定工作5萬小時,劣質(zhì)產(chǎn)品則可能短期內(nèi)失效。如果按每天使用6小時計算,理論上可以使用20多年。
但現(xiàn)實卻很骨感——很多
發(fā)表于 12-27 10:12
DLPA2000電源管理和LED/燈驅(qū)動器IC:設計與應用詳解
DLPA2000電源管理和LED/燈驅(qū)動器IC:設計與應用詳解 在電子設備不斷追求高性能、小型化和低功耗的今天,電源管理和LED驅(qū)動技術(shù)顯得
如何移植rt-thread到野火imx6ull開發(fā)板上?
求助如何將rt-thread移植到野火imx6ull(coretex-A7)開發(fā)板上,官方的bsp中沒有imx6ull
發(fā)表于 09-29 06:25
請問有沒有用uboot引導啟動過rtthread-smart的?
通過uboot引導,在imx6ull開發(fā)板上啟動rtthread-smart,通過thtp從網(wǎng)口下載到內(nèi)存后,用go命令無法啟動,且沒有額外的打印消息,有沒有遇到同樣問題的?這個該怎么解決
發(fā)表于 09-28 10:50
?LM3431 3通道恒流LED驅(qū)動器技術(shù)文檔總結(jié)
LED 燈串提供高精度恒流。輸出電流可調(diào),以驅(qū)動超過 200 mA 的組串。LM3431 可以擴展以驅(qū)動多達 6 個
2.4 A 雙通道閃光燈 LED 驅(qū)動器 skyworksinc
電子發(fā)燒友網(wǎng)為你提供()2.4 A 雙通道閃光燈 LED 驅(qū)動器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有2.4 A 雙通道閃光燈 LED
發(fā)表于 07-30 18:30
2.4 A / 2 A 雙路獨立閃光燈 LED 驅(qū)動器,帶 TrueFlash? skyworksinc
電子發(fā)燒友網(wǎng)為你提供()2.4 A / 2 A 雙路獨立閃光燈 LED 驅(qū)動器,帶 TrueFlash?相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有2.4 A / 2 A 雙路獨立閃光燈
發(fā)表于 07-30 18:30
用于高強度 LED 相機閃光燈的 2A 驅(qū)動器 IC skyworksinc
電子發(fā)燒友網(wǎng)為你提供()用于高強度 LED 相機閃光燈的 2A 驅(qū)動器 IC相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有用于高強度 LED 相機閃光燈的 2
發(fā)表于 07-28 18:33
大電流 LED 閃光燈驅(qū)動器電荷泵 IC skyworksinc
電子發(fā)燒友網(wǎng)為你提供()大電流 LED 閃光燈驅(qū)動器電荷泵 IC相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有大電流 LED 閃光燈
發(fā)表于 07-28 18:30
500mA LED 閃光燈驅(qū)動器 IC skyworksinc
電子發(fā)燒友網(wǎng)為你提供()500mA LED 閃光燈驅(qū)動器 IC相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有500mA LED 閃光燈
發(fā)表于 07-23 18:31
Analog Devices Inc. MAX25169 6通道LED背光驅(qū)動器數(shù)據(jù)手冊
-驅(qū)動器電源、一個反相降壓-升壓轉(zhuǎn)換器和一個升壓/SEPIC控制器,可為顯示屏背光的1-6個LED燈串供電。
使用單片機驅(qū)動多組LED燈實現(xiàn)呼吸效果電路
各位大佬,請教下,當前我需要使用單片機驅(qū)動控制20路并聯(lián)LED燈,需要PWM驅(qū)動實現(xiàn)呼吸燈的效果,目前我是直接使用三極管
發(fā)表于 04-11 14:24
在iMX6ULL上設置MAC地址,啟動后無法獲得相同的mac id?
我正在開發(fā)基于 imx6ull 的定制板。在 U Boot with Fuse Prog Command 中,我編寫了 mac id,但是在啟動后我無法獲得相同的 mac id。還需要任何其他程序
發(fā)表于 04-10 06:02
如何在i.MX6ULL睡眠時停止刷新LCD?
為了更好的 EMC,我們需要在 i.MX6ULL 進入睡眠狀態(tài)時停止 LCD 刷新。
能否實現(xiàn) ?
平臺: i.MX6ULL
系統(tǒng): Linux
發(fā)表于 04-03 07:14
如何維護i.MX6ULL的安全內(nèi)核?
為 5.15.158。
因此,我們想知道:是否有可能基于這個 BSP 平臺實現(xiàn)安全的 i.MX 6ULL 系統(tǒng)?您會推薦上游的 linux-fslc 還是 linux-imx (BSP) 內(nèi)核樹?顯然,linux-fslc 和上游內(nèi)核在安全性方面具有優(yōu)勢,但缺少什么呢?
發(fā)表于 04-01 08:28
匯編驅(qū)動IMX6ULL LED燈
評論