当前位置:网站首页>Imx6ull bare metal development learning 1-assembly lit LED
Imx6ull bare metal development learning 1-assembly lit LED
2022-07-05 08:04:00 【Changjiang houlang blog】
adopt GNU ARM Assembly implementation is right led Light flashing control .
Programming environment building :
Development board : Wildfire Imx6ull mini plate
Programming environment :Ubuntu18.04 + VScode
Assemble the code directly :
/*******************
* file name : led.s
* author : Guizhiwei
* mailbox : [email protected]
* describe : Bare metal experimental test 1 Assembly light up led The lamp
********************/
.global _start @ Global label
/*****
* describe : _start function
*/
_start :
/*****
* Lighten up LED The lamp GPIO5_IO03
* Open drain output
*/
/*****
*1. Enable to control the clock
*/
ldr r0, =0x020c4068 @ Configuration register CCM_CCGR0
ldr r1, =0xffffffff
str r1, [r0]
ldr r0, =0x020c406C @ Configuration register CCM_CCGR1
ldr r1, =0xffffffff
str r1, [r0]
ldr r0, =0x020c4070 @ Configuration register CCM_CCGR2
ldr r1, =0xffffffff
str r1, [r0]
ldr r0, =0x020c4074 @ Configuration register CCM_CCGR3
ldr r1, =0xffffffff
str r1, [r0]
ldr r0, =0x020c4078 @ Configuration register CCM_CCGR4
ldr r1, =0xffffffff
str r1, [r0]
ldr r0, =0x020c407C @ Configuration register CCM_CCGR5
ldr r1, =0xffffffff
str r1, [r0]
ldr r0, =0x020c4080 @ Configuration register CCM_CCGR6
ldr r1, =0xffffffff
str r1, [r0]
/*****
*2.GPIO5_IO03 Reuse function configuration GPIO
*IOMUXC_SNVS_SW_MUX_CTL_PAD_SNVS_TAMPER3 Address 229_0014h
*/
ldr r0, =0x02290014 @ Configuration register SNVS_TAMPER3
ldr r1, =0x5 @AL5
str r1, [r0]
/*****
*3.GPIO5_IO03 To configure IO Property function
*IOMUXC_SNVS_SW_PAD_CTL_PAD_SNVS_TAMPER3 Address 229_0058h
*BIT0 Swaying rate 0- Slow down
*BIT5-3 Driving ability R0/6 -110
*BIT7-6 Speed 100mhz-10
* BIT11 Open drain output enable 1- Turn on
*BIT12 The pull-down function is enabled 0- Close the pull-down button
*BIT13 Keep function 0
*BIT15-14 100K Up and down resistance -00
*BIT16 hys-0 close
* Set the configuration value :8B0-100010110000
*/
ldr r0, =0x02290058 @ Configuration register SNVS_TAMPER3
ldr r1, =0x08B0 @AL5
str r1, [r0]
/*****
*4. Set up GPIO5_IO03 For export
*GPIO5_GDIR Address 20A_C004
*GPIO5_DR Address 20A_C000
*/
ldr r0, =0x020AC004 @ Configuration register GPIO5_GDIR
ldr r1, =0x08 @BIT3
str r1, [r0]
/*****
*5 open GPIO LED
*/
ldr r0, =0x020AC000 @GPIO5_DR
ldr r1, =0x00 @BIT3
str r1, [r0]
/*****
*6 loop Cycling
*/
loop:
/**
* turn on the light
*/
ldr r0, =0x020AC000 @GPIO5_DR
ldr r1, =0x00 @BIT3
str r1, [r0]
/**
* Time delay
*/
bl delay
/**
* Turn off the lights
*/
ldr r0, =0x020AC000 @GPIO5_DR
ldr r1, =0x08 @BIT3
str r1, [r0]
/**
* Time delay
*/
bl delay
b loop
/**
* Time delay
*/
delay:
ldr r2, =0xfffff
ldr r3, =0x0
delay_loop:
sub r2,r2, #1
cmp r2,r3
bne delay_loop
mov pc,lr @ Return the main function
A simplified version of makefie
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
clean:
rm -rf *.o led.bin led.elf led.dis
dump:
arm-linux-gnueabihf-objdump -D led.elf > led.dis
dowmload:
./imxdownload led.bin /dev/sdb
Final effect :
Probably 0.5s Time flashing .
Simple assembly delay code :
/**
* Time delay
*/
delay:
ldr r2, =0xfffff
ldr r3, =0x0
delay_loop:
sub r2,r2, #1
cmp r2,r3
bne delay_loop
mov pc,lr @ Return the main function
边栏推荐
- Process communication mode between different hosts -- socket
- The research found that the cross-border e-commerce customer service system has these five functions!
- Halcon's practice based on shape template matching [1]
- Programming knowledge -- assembly knowledge
- solver. Learning notes of prototxt file parameters
- C WinForm [change the position of the form after running] - Practical Exercise 4
- [popular science] some interesting things that I don't know whether they are useful or not
- 软件设计师:03-数据库系统
- Bluetooth hc-05 pairing process and precautions
- Global and Chinese market of urban rail connectors 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢
H264 (I) i/p/b frame gop/idr/ and other parameters
Nb-iot technical summary
UEFI development learning 3 - create UEFI program
Summary -st2.0 Hall angle estimation
Extended application of single chip microcomputer-06 independent key
[trio basic from introduction to mastery tutorial XIV] trio realizes unit axis multi-color code capture
Shape template matching based on Halcon learning [viii] PM_ multiple_ models. Hdev routine
研究發現,跨境電商客服系統都有這五點功能!
C WinForm [change the position of the form after running] - Practical Exercise 4
Consul installation
随机推荐
Live555 push RTSP audio and video stream summary (III) flower screen problem caused by pushing H264 real-time stream
Class of color image processing based on Halcon learning_ ndim_ norm. hdev
IEEE access personal contribution experience record
Semiconductor devices (III) FET
[professional literacy] specific direction of analog integrated circuits
Global and Chinese markets for anesthesia, breathing and sleep apnea devices 2022-2028: Research Report on technology, participants, trends, market size and share
[popular science] some interesting things that I don't know whether they are useful or not
Ads usage skills
万字详解八大排序 必读(代码+动图演示)
C WinForm [display real-time time in the status bar] - practical exercise 1
MySQL blind note common functions
Acwing - the collection of pet elves - (multidimensional 01 Backpack + positive and reverse order + two forms of DP for the answer)
H264 (I) i/p/b frame gop/idr/ and other parameters
Halcon's practice based on shape template matching [2]
[untitled] record the visual shock of the Winter Olympics and the introduction of the display screen
Matlab2018b problem solving when installing embedded coder support package for stmicroelectronic
Global and Chinese markets for recycled boilers 2022-2028: Research Report on technology, participants, trends, market size and share
Global and Chinese markets for flexible endoscopic lithotripsy devices 2022-2028: Research Report on technology, participants, trends, market size and share
Embedded composition and route
导电滑环磨损快的原因