IMX6ULL学习记录——持续更新中......

688 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ​

 环境搭建小记

问题集锦

1、nfs无法挂载的问题

原因:ubuntu16之后nfs默认使用nfs的版本为3,4

解决:原子用户手册中/【正点原子】I.MX6U网络环境TFTP&NFS搭建手册V1.3.1/第四章 4.3 NFS挂载文件系统

具体:

sudo vim /etc/default/nfs-kernel-server

更改内容为如下所示:
# Number of servers to start up
#RPCNFSDCOUNT=8
RPCNFSDCOUNT="-V 2 8"

# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information, 
# see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
RPCMOUNTDOPTS="-V 2 --manage-gids"

# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=""

# Options for rpc.svcgssd.
RPCSVCGSSDOPTS="--nfs-version 2,3,4 --debug --syslog"

重新启动nfs服务
sudo service nfs-kernel-server restart

 如果系统比较新,如使用22.04,则还需要参考下面的文章,具体修改文件 /etc/nfs.conf

imx6ull 开发板uboot无法通过nfs下载ubuntu22虚拟机中共享文件

解决Ubuntu 22.04 LTS作为nfs server时根文件系统挂载失败的问题

2、ubuntu20.04 编译uboot、linux内核时报multiple definition of `yylloc‘ 错误

原因: gcc版本过高导致的

解决:[ubuntu20.04 编译uboot、linux内核时报multiple definition of yylloc‘ 错误](https://blog.csdn.net/qq_39809339/article/details/126653961?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-126653961-blog-126191871.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-126653961-blog-126191871.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=1 "ubuntu20.04 编译uboot、linux内核时报multiple definition of yylloc‘ 错误")****

3、内核编译没有生成zImage

原因: 缺少库

解决: 正点原子用户手册/常见问题汇总/第六章 内核移植问题/6.2.5 执行脚本没有生成zImage,只有Image

具体:

sudo apt-get install lzop

4、内核编译make menuconfig报错,<command-line>: fatal error: curses.h: 没有那个文件或目录

原因: 缺少库

解决:内核编译make menuconfig报错,<command-line>: fatal error: curses.h: 没有那个文件或目录****

具体:

sudo apt-get install libncurses5-dev

驱动开发小记

原子QT开发中led文件位置

  • 原子的led设备在内核编译的时候使用了linux自带的led驱动,所以最后编译到了平台设备下

将驱动编译进内核中 

设备树

原子出厂设备树使用:以7寸屏为例

imx6ull-14x14-emmc-7-1024x600-c.dts ——> imx6ull-14x14-evk-emmc.dts——> imx6ull-14x14-evk.dts ——> imx6ull.dtsi

QT学习小记

关闭原子初始自带的界面

初始运行自己的Demo

问题集锦

depmod报错

modprobe报错

加载驱动的时候报错

  • disagrees about version of symbol device_create
  • 这个主要是开发板运行的内核版本和驱动编译使用的内核版本不一致导致的,注意在写驱动的时候内核版本一定要和开发板运行的内核版本保持一致

驱动编译报错