当前位置:网站首页>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
边栏推荐
- Ads learning record (lna_atf54143)
- Global and Chinese markets of nano biosensors 2022-2028: Research Report on technology, participants, trends, market size and share
- IC software learning
- Vofa+ software usage record
- Interview catalogue
- The research found that the cross-border e-commerce customer service system has these five functions!
- Hardware 1 -- relationship between gain and magnification
- Altium designer 19.1.18 - Import frame
- A simple method to prove 1/t Fourier transform
- Programming knowledge -- assembly knowledge
猜你喜欢
Improve lighting C program
[untitled] record the visual shock of the Winter Olympics and the introduction of the display screen
Realization of binary relation of discrete mathematics with C language and its properties
Mlperf training v2.0 list released, with the same GPU configuration, the performance of Baidu PaddlePaddle ranks first in the world
Hardware 1 -- relationship between gain and magnification
Communication standard -- communication protocol
[trio basic from introduction to mastery tutorial XIV] trio realizes unit axis multi-color code capture
C, Numerical Recipes in C, solution of linear algebraic equations, LU decomposition source program
Altium designer learning (I)
Solutions to compilation warnings in Quartus II
随机推荐
Global and Chinese market of plastic recycling machines 2022-2028: Research Report on technology, participants, trends, market size and share
UEFI development learning series
C language enhancement -- pointer
A simple method to prove 1/t Fourier transform
How to define guid in AMI code
The research found that the cross-border e-commerce customer service system has these five functions!
Shape template matching based on Halcon learning [vi] find_ mirror_ dies. Hdev routine
Altium designer 19.1.18 - change the transparency of copper laying
C language uses arrays to realize the intersection, union, difference and complement of sets
Detailed explanation of pragma usage
Global and Chinese market of digital shore durometer 2022-2028: Research Report on technology, participants, trends, market size and share
About the problem that MySQL connector net cannot be cleared in MySQL
Use of orbbec Astra depth camera of OBI Zhongguang in ROS melody
Baiwen 7-day smart home learning experience of Internet of things
Shape template matching based on Halcon learning [viii] PM_ multiple_ models. Hdev routine
Extern keyword function
Global and Chinese markets for medical oxygen machines 2022-2028: Research Report on technology, participants, trends, market size and share
Live555 push RTSP audio and video stream summary (III) flower screen problem caused by pushing H264 real-time stream
VESC Benjamin test motor parameters
Global and Chinese market of peeled bourdon tubes 2022-2028: Research Report on technology, participants, trends, market size and share