本帖最后由 琳子 于 2020-10-21 14:55 编辑
环境:Unbuntu20.4LTS
交叉编译工具链:arm-linux-gnueabihf-gcc
软件:VsCode
1.helloworld交叉编译初体验
选择下载交叉编译工具链(我就按照其他教程下载配置的)
![](http://bbs.witech.com.cn/forum.html?mod=attachment&aid=MTExMTZ8OTQ4NDI5MTB8MTYwMTQ0NTY0MXwwfDczMTgz)
安装工具链及相关的库,配置环境变量
![](http://bbs.witech.com.cn/forum.html?mod=attachment&aid=MTExMTd8Nzk4MTVkMmR8MTYwMTQ0NTY0MXwwfDczMTgz)
在开发板上配置sftp用于文件传输,将编译完成的可执行文件传到开发板上运行
![](http://bbs.witech.com.cn/forum.html?mod=attachment&aid=MTExMTh8MTA0NTRjZGJ8MTYwMTQ0NTY0MXwwfDczMTgz)
在Unbuntu20下编写一个helloworld.c文件
![](http://bbs.witech.com.cn/forum.html?mod=attachment&aid=MTExMTl8NzAxNWQ0MWJ8MTYwMTQ0NTY0MXwwfDczMTgz)
通过其他教程学习了一下Makefile文件的构成及简单实现,make编译得到可执行文件main
![](http://bbs.witech.com.cn/forum.html?mod=attachment&aid=MTExMjB8OThlZDhlOTF8MTYwMTQ0NTY0MXwwfDczMTgz)
![](http://bbs.witech.com.cn/forum.html?mod=attachment&aid=MTExMjF8Yjg3ZDc2MTF8MTYwMTQ0NTY0MXwwfDczMTgz)
将main文件通过sftp复制到开发板root目录下,修改运行权限并运行测试
![](https://www.forlinx.com/file.php?f=202009/f_3468357e79ef08a4bd97450c0de3cf60&t=png&o=&s=&v=1601446034)
2.利用上述方式控制LED闪烁
linux系统下一切皆文件
编写gpio_test.c文件,这里参考了**https://www.jianshu.com/p/e5ecd92c0787
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
char *GPIO_PATH = "/sys/class/gpio/gpio43/value";
int main(int argc, char *argv[])
{
int res = 0;
int fd;
char *path;
printf("Gpio test demo\n");
if(argc >= 2)
{
path = argv[1];
}
else
{
path = GPIO_PATH;
}
fd = open(path, O_WRONLY);
if(fd<0)
{
printf("Failed to Open gpio %s/n", path);
exit(1);
}
while(1)
{
write(fd, "1", 1);
sleep(1);
write(fd, "0", 1);
sleep(1);
}
close(fd);
}
编写Makefile文件进行编译
![](http://bbs.witech.com.cn/forum.html?mod=attachment&aid=MTExMjN8YmJiNjFhMzV8MTYwMTQ0NTY0MXwwfDczMTgz)
将生成的可执行文件gpio_flash复制到开发板目录中,不加任何参数运行可以看到核心板上的LED闪烁
![](https://www.forlinx.com/file.php?f=202009/f_bd309a4efd7acebde76f35a54875171f&t=png&o=&s=&v=1601446330)
带参数可以换一个gpio进行控制
![](https://www.forlinx.com/file.php?f=202009/f_17805602c0284ee8f6de7452187cdace&t=png&o=&s=&v=1601446330)
点击查看官方网站 https://www.forlinx.com/
|