记录测试新唐nuc980的指示灯功能。
1、新唐nuc980开发板的指示灯电路如下:
使用的是PB8。
2、新建led工程,测试工程代码如下:
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
//GPIOB8 : 40 ; 每个 GPIO Group 是 32,从0开始,(gpioa 0-31),所以 gpiob8 = 32 + 8 =40
//通过 system function 执行系统命令
//通过 Linux kernel 的 sysfs 控制 gpio
int main(void)
{
system("echo 40 > /sys/class/gpio/export");//设置 gpiob8 可以使用 sysfs 控制
system("echo out > /sys/class/gpio/gpio40/direction");//设置 gpiob8 输出模式
while(1)
{
system("echo 1 > /sys/class/gpio/gpio40/value");
sleep(1);
system("echo 0 > /sys/class/gpio/gpio40/value");
sleep(1);
}
return 0;
}
3、终端输入指令,得到可执行文件led
arm-linux-gcc led.c -o led
4、复制执行文件led到 NUC970_Buildroot/output/target/usr/bin。
5、make 编译。
6、拷贝 NUC970_Buildroot/output/images 文件夹下的 uImage 文件;拷贝 NUC970_Buildroot/output/build/uboot-master 文件夹下的u-boot.bin 文件 ;拷贝 NUC970_Buildroot/output/build/uboot-master/spl 文件夹下的u-boot-spl.bin 文件;拷贝 NUC970_Buildroot 文件夹下的 env.txt 文件。
7、选择boot启动方式,上电进行镜像下载。u-boot-spl.bin 选择Loader 默认Image execute address:0x 200 ;下载即可。u-boot.bin 选择 Data 下载到 Image start offset: 0x 100000 ; 下载即可。uImage 选择 Data 下载到 Image start offset: 0x 200000 ; 下载即可。env.txt 选择 Environment下载到 Image start offset: 0x 80000 ; 下载即可。
8、选择启动方式,复位运行,输入测试指令 ./usr/bin/led,可以看到led指示灯闪烁,符合预期。
欢迎关注公众号:嵌入式学习与实践