IMX6ULLPRO交叉编译第一个APP和第一个led驱动

目录

配置交叉编译工具链

永久生效

测试交叉编译工具链  

第一个交叉编译程序 

开发板运行

LED第一个驱动

开发板下操作

执行测试程序  


配置交叉编译工具链

交叉编译工具链用来在 Ubuntu 主机上编译应用程序,而这些应用程序是在
ARM 等其他平台上运行。
设置交叉编译工具主要是设置 PATH ARCH CROSS_COMPILE 三个环境变
量,下面介绍具体设置方法。
在本文档中,源码、交叉编译工具链都是存放于 /home/book 目录下;如果 你的目录不一样,请自行修改本节所讲述的命令。

久生效

如需永久修改,请修改用户配置文件:
vim ~/.bashrc
在行尾添加或修改,加上下面几行 ( 请把第 3 4 行合并为一行,有些 PDF 具无法正确复制甚至丢失“ - ”符号,请仔细对比 )
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/chl/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
设置完毕后,要执行
source ~/.bashrc
命令使其生效,并通过
arm-buildroot-linux-gnueabihf-gcc -v
命令来验证是否配置成功:

以上操作是设置 IMX6ULL Pro 版工具链的过程。

测试交叉编译工具链  

echo $ARCH

echo $CROSS_COMPILE

 执行以下命令测试工具链,结果见后图 2.17

arm-buildroot-linux-gnueabihf-gcc -v

第一个交叉编译程序 

git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git
cd 01_all_series_quickstart\04_嵌入式 Linux 应用开发基础知识\source\01_hello
arm-buildroot-linux-gnueabihf-gcc -o hello hello.c
cp hello /home/book/nfs_rootfs

开发板运行

mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs/ /mnt
cp /mnt/hello  . 
./hello 
file hello //查看文件类型

LED第一个驱动

注意:编译驱动时,要先编译内核,内核在IMX6ULLPRO单独编译kernel+dtb内核模块以及uboot_陈学弟的博客-CSDN博客y

led 驱动在 GIT 仓库里,由于前面已经克隆了这边就不需要重复了
目录位置如下:
01_all_series_quickstart/ 05_ 嵌入式 Linux 驱动开发基础知识 / source/02_led_drv/02_led_drv_for_boards/100ask_imx6ull_src_bin
首 先 , 进 入 100ask_imx6ull_src_bin 目 录 , 修 改 Makefile 文 件
KERN_DIR ”为自己的内核所在路径。如图 5.7 红框所示,如果你的内核源码
不在此目录则根据你的实际情况进行修改:

由于我的路径不一样所以我进行了修改

 

修改后执行下面的指令

make clean

make 

 编译完成后会生成 100ask_led.ko  ledtest 两个文件

此时,把这两个文件拷贝到 Ubuntu nfs 目录下备用:
cp 100ask_led.ko ledtest /home/book/nfs_rootfs //这里根据的自己的路径来安排 

开发板下操作

注意开发板要和Ubantu能够ping通

 mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt
cp /mnt/100ask_led.ko ./
cp /mnt/ledtest ./
安装驱动模块
insmod 100ask_led.ko
insmod 100ask_led.ko
安装完成后可以执行 lsmod 命令来查看是否安装成功,如图 5.9 所示:

执行测试程序  

驱动模块安装成功后,就可以使用测试程序来控制 led 灯的状态,如图 5.12
所示,操作 led 灯时可同时观察开发板串口旁的灯是否有亮灭的变化。
[root@100ask:~]# chmod +x ./ledtest
[root@100ask:~]# ./ledtest
Usage: ./ledtest <dev> <on | off>
[root@100ask:~]# ./ledtest /dev/100ask_led0 on //打开 led0 灯
[root@100ask:~]# ./ledtest /dev/100ask_led0 off //关闭 led0 灯

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 安装imx6 Yocto交叉编译环境需要以下步骤: 1. 下载并安装交叉编译工具链,可以从官方网站或第三方网站下载。 2. 下载并解压imx6 Yocto源代码,可以从官方网站下载。 3. 进入源代码目录,执行“source setup-environment <build_dir>”命令来设置编译环境变量。 4. 配置编译选项,在conf文件中进行修改。 5. 执行“bitbake core-image-minimal”命令来开始编译。 6. 等待编译完成,将生成的镜像烧写到imx6设备上即可。 ### 回答2: IMX6 Yocto是一种基于Linux的嵌入式操作系统,它可以在各种嵌入式设备中运行,包括智能手机、平板电脑和其他嵌入式设备。IMX6 Yocto需要交叉编译才能在设备上运行,因此需要设置IMX6 Yocto交叉编译环境。 在安装IMX6 Yocto交叉编译环境之前,需要准备以下事项: 1. 一台运行Linux或Mac OS X的计算机; 2. 安装交叉编译工具链; 3. 安装Git; 4. 安装文本编辑器,如Vim或Nano。 接下来,我们将逐步介绍如何在Linux或Mac OS X上安装IMX6 Yocto交叉编译环境。 第一步:安装交叉编译工具链 IMX6 Yocto需要使用交叉编译工具链,可从官方网站下载。可以选择下载解压后放在/usr/local/目录下。然后将/bin/i686-pc-linux-gnu-路径添加到$PATH环境变量中,例如,在~/.bashrc文件中添加以下行: export PATH=$PATH:/usr/local/gcc-arm-none-eabi-10-2020-q4-major/bin/ 然后运行source ~/.bashrc或重新打开终端窗口以应用更改。 第二步:安装Git $ sudo apt-get update $ sudo apt-get install git 第三步:创建工作目录 创建一个新目录,例如imx6-yocto,并进入该目录: $ mkdir ~/imx6-yocto $ cd ~/imx6-yocto 第四步:下载IMX6 Yocto源码 使用Git从GitHub上克隆IMX6 Yocto存储库。你需要安装Git,假设下载地址为git@github.com:xxx/imx6-yocto.git: $ git clone git@github.com:xxx/imx6-yocto.git 等待下载过程结束。 第五步:配置Yocto Build Environment 进入imx6-yocto目录并执行以下命令: $ source setup-environment build 它将为您创建一个build目录和一些配置文件。如果在运行此命令时出现任何问题,请确保已正确安装所有依赖项,例如安装了python、perl、help2man等软件包。 第六步:构建Image文件 输入以下命令执行Image文件的构建: $ bitbake core-image-minimal 进程可能需要一段时间才能完成。执行成功将会在/tmp/deploy/images/imx6/中产生core-image-minimal-imx6qdl.sdcard.bz2压缩文件,即镜像文件。可以将镜像文件下载到SD卡中进行运行。 到此,IMX6 Yocto交叉编译环境的安装就完成了。如果出现错误,请检查依赖项是否正确安装,或在官方网站或社区论坛上查找解决方案。 ### 回答3: imx6是一款性能强大的嵌入式处理器,使用yocto构建嵌入式系统,可以有效优化系统性能,提高开发效率。而交叉编译则是嵌入式开发中必不可少的一环,可以在一台主机上编译出适用于目标平台的二进制文件。因此,安装imx6 yocto交叉编译环境是非常重要的。 安装imx6 yocto交叉编译环境的步骤如下: 1. 准备工作 在安装环境之前,需要准备以下环境: a. 一台可运行Linux系统的主机,推荐使用Ubuntu 16.04以上版本。 b. 下载并安装ARM架构交叉编译器,比如arm-linux-gnueabihf。 c. 下载并安装支持imx6的交叉编译工具,比如imx6q-poky-linux-gcc。 d. 下载并安装yocto-sdk环境,这是一个类似于开发工具包的软件,提供了一些模块和库供开发者使用。 2. 安装库文件 在主机上安装所需要的库文件,这些文件包括g++,make,findutils和python。 sudo apt-get install g++ make findutils python 3. 配置环境变量 在主机上配置环境变量,以允许主机寻找交叉编译器和yocto-sdk环境。 export CROSS_COMPILE=arm-linux-gnueabihf export SDKTARGETSYSROOT=/path/to/sdk/sysroot 4. 配置yocto源码 下载并配置yocto源码,以便使用yocto构建嵌入式系统。 git clone git://git.yoctoproject.org/poky cd poky git checkout -b imx6 origin/imx6 5. 构建yocto环境 配置和构建yocto环境,以便构建所需的软件包。 source oe-init-build-env bitbake core-image-minimal 6. 交叉编译应用程序 使用交叉编译工具来交叉编译应用程序,以便在imx6上运行。 arm-poky-linux-gnueabi-gcc -o hello_world hello_world.c 7. 部署应用程序 将交叉编译生成的可执行文件部署到目标设备上,以便在设备上运行。 scp hello_world user@device:/path/to/hello_world 总之,以上就是安装imx6 yocto交叉编译环境的大致步骤。在实际开发中,可能会遇到各种问题,需要仔细检查每一个步骤,找出问题并解决。通过使用yocto构建嵌入式系统,可以大大提高开发效率,减少开发周期,让嵌入式开发更加简单和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈学弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值