国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統(tǒng) > 正文

Cubieboard2裸機開發(fā)之(一)點亮板載LED

2024-06-28 13:27:33
字體:
供稿:網(wǎng)友
Cubieboard2裸機開發(fā)之(一)點亮板載LED

前言

CUbieboard2板載兩個LED,一個綠色的,一個藍色的,其中綠色LED通過三極管與PH20管腳連接,藍色LED通過三極管與PH21管腳連接,這里只以藍色LED為例,電路原理圖如圖1和圖2所示。

圖1 LED所使用的管腳

圖2 LED與三極管連接圖

由此可知,當PH21輸出高電平時,三極管處于導通狀態(tài),從而藍色LED會被點亮;當PH21輸出低電平時,三極管處于截止狀態(tài),藍色LED熄滅。

一、目的

編寫第一個裸機程序,點亮板載的藍色LED。

二、源代碼說明

程序很簡單,已給出詳細注釋,直接看代碼好了,如下所示:

 1 /* 2  * (C) Copyright 2014 Conan Liang <lknlfy@163.com> 3  * 4  * a very simple source to set the blue led on for Cubieboard2. 5  *  6  */ 7  8 /* GPIO reg addr */ 9 #define SUNXI_PIO_BASE          0x01C2080010 #define SUNXI_PIO_PH_CFG2_BASE  (SUNXI_PIO_BASE + 0x104)11 #define SUNXI_PIO_PH_DAT_BASE   (SUNXI_PIO_BASE + 0x10C)12 13 /* global entry point */14 .globl _start15 _start: b    reset16 17 reset:18     ldr r0, =SUNXI_PIO_PH_CFG2_BASE19     /* before write, read the reg value into r1*/20     ldr r1, [r0]21     /* blue led is connected to PH21 */22     ldr r2, =(0xf << 20)23     mvn r3, r224     /* clear 4 bits for PH21*/25     and r1, r1, r326     /* set PH21 for output function */27     orr r1, r1, #(0x1 << 20)28     str r1, [r0]29 30     /* set PH21 output 1(high value), so the blue led is on */31     ldr r0, =SUNXI_PIO_PH_DAT_BASE32     ldr r1, [r0]33     orr r1, r1, #(1 << 21)34     str r1, [r0]35 loop:36     b loop

三、驗證

使用arm-linux-gnueabihf工具編譯后生成led.b文件,再使用mksunxiboot工具在led.b文件前面加上一個頭部,最終生成led.bin文件,使用以下命令將led.bin文件燒寫到TF中:

#sudo dd if=./led.bin of=/dev/sdb bs=1024 seek=8

將TF卡插入Cubieboard2,上電即可看到藍色LED被點亮。效果如圖3所示。

圖3 效果圖


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 潼关县| 祁东县| 甘南县| 保山市| 延津县| 南阳市| 鄱阳县| 桂平市| 射阳县| 佛山市| 石林| 宁海县| 抚宁县| 曲周县| 大理市| 德令哈市| 平顺县| 卓尼县| 江阴市| 河间市| 玉环县| 海门市| 镇康县| 新干县| 乐至县| 泸溪县| 文登市| 舞阳县| 遂宁市| 大英县| 曲沃县| 宁波市| 望城县| 左权县| 通榆县| 通海县| 平山县| 乌海市| 华阴市| 泸定县| 宣武区|