99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

匯編驅(qū)動(dòng)IMX6ULL LED燈

華仔的編程隨筆 ? 來(lái)源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-05-01 09:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天開始學(xué)習(xí)編寫正點(diǎn)原子阿爾法開發(fā)板的LED匯編。

1、打開vscode新建led.s

代碼如下:

/**************************************************************
Copyright ? lugl.
文件名 : led.s
作者 : 劉建華
版本 : V1.0
描述 : 裸機(jī)實(shí)驗(yàn) 1 匯編點(diǎn)燈
 使用匯編來(lái)點(diǎn)亮開發(fā)板上的 LED 燈,學(xué)習(xí)和掌握如何用匯編語(yǔ)言來(lái)
 完成對(duì) I.MX6U 處理器的 GPIO 初始化和控制。
其他 : 無(wú)
日志 : 初版 V1.0 2023.5.1 學(xué)習(xí)左中凱老師例程
**************************************************************/
.global _start  /* 全局標(biāo)號(hào) */

/* 
*描述: _start函數(shù),程序從此函數(shù)開始,執(zhí)行此函數(shù)完成時(shí)鐘使能、
*      GPIO初始化、最終控制GPIO輸出低電平來(lái)點(diǎn)亮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]

/*  初始化時(shí)鐘結(jié)束 */

/* 開始設(shè)置GPIO1_IO03的IO屬性
*bit 16:  0 HYS關(guān)閉
*bit [15:14]: 00 默認(rèn)下拉
*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ū)動(dòng)能力
*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的配置值

/* 設(shè)置 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、然后把這兩個(gè)文件拷貝到虛擬機(jī)新建好的linux-tool下面

image.png

4、拷入一個(gè)正點(diǎn)原子專用的燒寫工具imxdownload,并且修改他的執(zhí)行權(quán)限:chmod 777 imxdownload

5、插入一個(gè)SD,我這里用的是《雷龍發(fā)展提供的CS創(chuàng)世SD NAND》

e933aa242325438b4029f849b7eeac9.jpg

fc6c9845ca7898f75ed16246d54c95c.jpg

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

image.png

因?yàn)槲矣玫腘flash卡,所以不象教程里面說(shuō)的SDD卡,我這里是sdb。

327ac5c95e2512627b64fc8394bce30.jpg

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)已復(fù)制,0.0111069 s,290 kB/s

顯示燒寫成功。

7、把卡插到開發(fā)板上,上電,稍等一會(huì),就看到開發(fā)板的DS0燈亮了。

97de0d9cf206803300e53a446b4af2b.jpg

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23834

    瀏覽量

    673871
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5675

    瀏覽量

    104556
  • 匯編
    +關(guān)注

    關(guān)注

    2

    文章

    214

    瀏覽量

    26558
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Analog Devices Inc. MAX25169 6通道LED背光驅(qū)動(dòng)器數(shù)據(jù)手冊(cè)

    -驅(qū)動(dòng)器電源、一個(gè)反相降壓-升壓轉(zhuǎn)換器和一個(gè)升壓/SEPIC控制器,可為顯示屏背光的1-6個(gè)LED串供電。
    的頭像 發(fā)表于 06-19 10:51 ?279次閱讀
    Analog Devices Inc. MAX25169 <b class='flag-5'>6</b>通道<b class='flag-5'>LED</b>背光<b class='flag-5'>驅(qū)動(dòng)</b>器數(shù)據(jù)手冊(cè)

    使用單片機(jī)驅(qū)動(dòng)多組LED實(shí)現(xiàn)呼吸效果電路

    各位大佬,請(qǐng)教下,當(dāng)前我需要使用單片機(jī)驅(qū)動(dòng)控制20路并聯(lián)LED,需要PWM驅(qū)動(dòng)實(shí)現(xiàn)呼吸的效果,目前我是直接使用三極管
    發(fā)表于 04-11 14:24

    iMX6ULL上設(shè)置MAC地址,啟動(dòng)后無(wú)法獲得相同的mac id?

    我正在開發(fā)基于 imx6ull 的定制板。在 U Boot with Fuse Prog Command 中,我編寫了 mac id,但是在啟動(dòng)后我無(wú)法獲得相同的 mac id。還需要任何其他程序
    發(fā)表于 04-10 06:02

    如何在i.MX6ULL睡眠時(shí)停止刷新LCD?

    為了更好的 EMC,我們需要在 i.MX6ULL 進(jìn)入睡眠狀態(tài)時(shí)停止 LCD 刷新。 能否實(shí)現(xiàn) ? 平臺(tái): i.MX6ULL 系統(tǒng): Linux
    發(fā)表于 04-03 07:14

    如何維護(hù)i.MX6ULL的安全內(nèi)核?

    為 5.15.158。 因此,我們想知道:是否有可能基于這個(gè) BSP 平臺(tái)實(shí)現(xiàn)安全的 i.MX 6ULL 系統(tǒng)?您會(huì)推薦上游的 linux-fslc 還是 linux-imx (BSP) 內(nèi)核樹?顯然,linux-fslc 和上游內(nèi)核在安全性方面具有優(yōu)勢(shì),但缺少什么呢?
    發(fā)表于 04-01 08:28

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之LED

    imx6ull_elf1_defconfig然后在源碼根目錄下使用make menuconfig命令,搜索LEDS_GPIO,看到LEDS_GPIO [=y]說(shuō)明此驅(qū)動(dòng)已經(jīng)編譯進(jìn)內(nèi)核:elf@ubuntu:~/work
    發(fā)表于 01-24 09:40

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之LED

    imx6ull_elf1_defconfig然后在源碼根目錄下使用make menuconfig命令,搜索LEDS_GPIO,看到LEDS_GPIO [=y]說(shuō)明此驅(qū)動(dòng)已經(jīng)編譯進(jìn)內(nèi)核:elf@ubuntu:~/work
    發(fā)表于 01-23 10:49

    imx6ull 和 lan8742 工作起來(lái)不正常, ping 老是丟包

    采用 imx6ull 默認(rèn)的設(shè)備樹, 和 lan8742通信, MAC的配置如下: pinctrl_enet2: enet2grp { fsl,pins = <
    發(fā)表于 01-09 14:51

    【迅為電子】i.MX6UL和i.MX6ULL芯片區(qū)別與開發(fā)板對(duì)比

    【迅為電子】i.MX6UL和i.MX6ULL芯片區(qū)別與開發(fā)板對(duì)比
    的頭像 發(fā)表于 11-28 14:31 ?1328次閱讀
    【迅為電子】i.MX<b class='flag-5'>6</b>UL和i.MX<b class='flag-5'>6ULL</b>芯片區(qū)別與開發(fā)板對(duì)比

    imx6ull裸機(jī)編程,使用宏定義無(wú)法驅(qū)動(dòng),使用指針就可以驅(qū)動(dòng)

    當(dāng)我使用宏定義來(lái)訪問(wèn)imx6ull的寄存器,控制GPIO5_IO3輸出高低電平控制LED時(shí),程序燒錄進(jìn)去后沒(méi)有反應(yīng)。但是當(dāng)我使用指針來(lái)訪問(wèn)寄存器,LED可以正常驅(qū)動(dòng),請(qǐng)問(wèn)這是什么原因?
    發(fā)表于 11-04 17:59

    索尼_imx678_19DV500驅(qū)動(dòng)源碼

    hi3519dv500_IMX678驅(qū)動(dòng)源碼
    發(fā)表于 11-01 10:36 ?5次下載

    led啟動(dòng)電流是額定電流的幾倍

    LED的啟動(dòng)電流與額定電流之間的倍數(shù)關(guān)系并不是一個(gè)固定的值,它受到多種因素的影響,包括LED的類型、電路設(shè)計(jì)、驅(qū)動(dòng)方式以及廠家提供的具體
    的頭像 發(fā)表于 09-19 11:09 ?4634次閱讀

    使用TPS6521815 PMIC為NXP i.MX 6ULL、6UltraLite供電

    電子發(fā)燒友網(wǎng)站提供《使用TPS6521815 PMIC為NXP i.MX 6ULL、6UltraLite供電.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:44 ?1次下載
    使用TPS6521815 PMIC為NXP i.MX <b class='flag-5'>6ULL</b>、<b class='flag-5'>6</b>UltraLite供電

    低壓線性恒流LED恒流驅(qū)動(dòng)芯片:用于洗墻和線條

    洗墻和線條是兩種常見的LED照明產(chǎn)品,它們都需要使用LED恒流驅(qū)動(dòng)芯片來(lái)確保穩(wěn)定、可靠的電流供應(yīng),從而保證
    的頭像 發(fā)表于 08-16 10:04 ?1812次閱讀

    達(dá)林頓管驅(qū)動(dòng)繼電器電路為什么要加LED

    在達(dá)林頓管驅(qū)動(dòng)繼電器電路中,加入LED是一種常見的設(shè)計(jì)方法。LED的加入可以帶來(lái)許多好處,包括提高電路的穩(wěn)定性、減少功耗、提高安全性等。
    的頭像 發(fā)表于 07-15 09:59 ?2217次閱讀