当前位置:首页 » 编程软件 » 设备树编译出错

设备树编译出错

发布时间: 2023-05-09 23:28:44

❶ 我有两块不同型号的明远智睿开发板,IMX6 EK200和EK314,要怎么让两块开发板通过串口通信

迅为IMX6Q开发板独立文档和程序源码汇总158个
迅为IMX6开发板支持五种系统Android4.4/6.0/7.1系统;linux + Qt4.7/5.7系统; Ubuntu12.04/16.04系统;Debian 9.9 系统;Yocto系统(4.1.15-krogoth)。
处理器兼容单核、双核、工业级、汽车级、IMX6Q最新PLUS版本可根据需求更换。
iTOP-开发板-ssh常见问题以及解决方法.pdf
iTOP-开发板-串口控制台无法使用vi编辑器解决办法.zip
iTOP-开发板-can测试工具使用资料.zip
iTOP-开发板-Qt和mini文件系统无法保存文件的解决办法.pdf
iTOP-IMX6-SATA硬盘测试.pdf
iTOP-IMX6-Android系统开启adb.pdf
iTOP-IMX6-QtE4.7-Uart_V1.0.rar
iTOP-iMX6-驱动-单独编译内核驱动.zip
iTOP-iMX6-驱动-以模块的方式编译内核驱动.pdf
iTOP-iMX6-TF卡开机自动烧写镜像.pdf
imx6_Qt_wifi_mt6620(临时).zip
GPS-datasheet_v1.0.01.pdf
iTOP-iMX6-驱动-USB转串口PL2303_V1.0.pdf
6818-qt-ec20网卡 - 仅供参考.zip
iTOP-IMX6-Android4.4系统源码-将APK编译到镜像.pdf
iTOP-IMX6-Android4.4系统源码-设备权限的修改.pdf
iTOP-IMX6-Android4.4系统源码-去掉默认安装的APK.pdf
ITOP-IMX6-Android4.4系统-ADB传输文件.pdf
iTOP-IMX6-Android4.4系统-开机横竖屏切换.pdf
iTOP-4412-Linux系统-自动挂载U盘TF卡等(热拔插)-临时.pdf
iTOP-iMX6-Linux系统-屏蔽虚拟控制台.zip
rc522test_20150320临时.tar.gz
飞思卡尔原厂资料06-i.MX_Android_Camera_Issues_on_the_SDP_Board.pdf
飞思卡尔原厂资料07-i.MX_Android_Extended_Codec_Release_Notes.pdf
飞思卡尔原厂资料09-i.MX_Android_Wi-Fi_Display_Sink_API_Introction.pdf
飞思卡尔原厂资料09-i.MX_Android_Wi-Fi_Display_Sink_API_Introction.pdf
飞思卡尔原厂资料02-Android_Quick_Start_Guide.pdf
飞思卡尔原厂资料04-Android_User's_Guide.pdf
飞思卡尔原厂资料05-i.MX_6_Series_G2D_API_User's_Guide.pdf
飞思卡尔原厂资料03-Android_Release_Notes.pdf
飞思卡尔原厂资料08-i.MX_Android_Extended_Wi-Fi_Display_Sink_Release_Notes.pdf
iTOP-iMX6-QtE-CAN例程和使用文档.zip
iTOP-iMX6-获取CPU唯一ID.zip
iTOP-iMX6-QtE4.7-RS485_V2.0.rar
iTOP-iMX6-QTE系统-调用shell命令使用文档.zip
iTOP-iMX6-linux-C调用shell命令使用文档.zip
iTOP4412-QtE5.7-移植使用文档_V2.0.pdf
iTOP-iMX6-QtE-watchdog看门狗例程.zip
iTOP-IMX6-QtE4.7-Uart_V1.0.rar
iTOP-iMX6-串口Android应用测试.zip
iTOP-iMX6-Linux系统-屏蔽虚拟控制台.zip
iTOP-iMX6-QtE4.7-SDIO_WIFI_MT6620的使用.zip
iTOP-iMX6-QtE4.7-SDIO_WIFI_MT6620的使用.zip
iTOP-iMX6-Linux系统-web服务器控制led_V1.0.pdf
iTOP-iMX6-Linux系统-搭建web服务器_V1.0.pdf
iTOP-iMX6-Linux系统-Tftp使用文档_V1.0.pdf
QT4412程序调用其它程序20161002-临时.rar
iTOP-iMX6-Android-RS485使用文档和源码_V1.0.zip
iTOP-iMX6-MiniLinux-CAN测试使用文档.zip
iTOP-iMX6-QtE-CAN测试使用文档_V2.0.zip
iTOP-IMX6-QtE4.7-计算器_V1.0.rar
iTOP-IMX6-QtE4.7-Buzzer_V1.0.rar
iTOP-IMX6-QtE4.7-看门狗_V1.0.rar
iTOP-IMX6-QtE4.7-日历_V1.0.rar
iTOP-IMX6-QtE4.7-Led_V1.0.rar
iTOP-IMX6-QtE4.7-Uart_V1.0.rar
iTOP-IMX6-QtE4.7-HelloWorld_V1.0.rar
iTOP-IMX6-QtE4.7-定时器_V1.0.rar
iTOP-IMX6-QtE4.7-USB键盘支持_V1.0.rar
iTOP-IMX6-QtE4.7-字体_V1.0.rar
iTOP-IMX6-QtE4.7-文本_V1.0.rar
iTOP-IMX6-QtE4.7-游戏_V1.0.rar
iTOP-IMX6-QtE4.7-相册_V1.0.rar
iTOP-IMX6-QtE4.7-时钟_V1.0.rar
iTOP-IMX6-QtE4.7-字体_V1.0.rar
iTOP-IMX6-QtE4.7-视频音频_V1.0.rar
iTOP-网络-同一网段_V1.0.pdf
iTOP-网络-最小局域网_V1.0.pdf
iTOP-iMX6-QtE-RFID测试使用文档.zip
iTOP-iMX6-QtE系统下LVDS和HDMI双屏异显和同显.pdf
iTOP-iMX6-GPIO读写配置文档_V1.0.zip
iTOP-iMX6-中断测试例程_V1.0.zip
iTOP-iMX6-Android4.4系统-屏蔽虚拟控制台.pdf
关于SIM卡座接触不良的解决办法.pdf
iTOP-iMX6-QtE4.7-继电器relay模块使用文档_V1.0.zip
iTOP-iMX6-Android-继电器relay模块使用文档_V1.0.zip
iTOP-iMX6-Android系统-开机logo修改.pdf
iTOP-iMX6-v_2.2底板扩展串口_V1.0.pdf
iTOP-iMX6-v_2.1底板扩展串口_V1.0.pdf
iTOP-4412-Android4.4-RFID测试例程-全能版v4.0底板_v1.1_临时.zip
iTOP-iMX6Q-内核-LOGO修改使用文档_V1.0.zip
iTOP-iMX6-Android4.4-RFID读卡器测试例程.zip
iTOP-4412-Linux系统-ssh功能移植到开发板.zip
迅为核心板装配指导 .pdf
关于SIM卡座接触不良的解决办法.pdf
iTOP-开发板-实现虚拟机和主机之间共享文件夹.pdf
iTOP-开发板-清除虚拟机安装残留.zip
iTOP-iMX6-驱动-PWM控制蜂鸣器.zip
iTOP-开发版-无线网络和以太网测速iPerf工具.zip
iTOP-开发版-ubuntu系统修改系统锁屏使用文档.pdf
iTOP-iMX6-QtE4.7-TCPsocket通信_V1.0.rar
iTOP-开发板-Android-Eclipse的SDK在线升级方法.pdf
iTOP-开发板-Android-Eclipse打开源码报错解决办法.pdf
iTOP-iMX6-uboot-修改默认环境变量.pdf
iTOP-开发板-硬件-7寸屏幕亮度调整.pdf
iTOP-iMX6- Qt4.7-4G_EC20的移植.zip
iTOP-iMX6- Qt4.7-WiFi_mt6620的移植.zip
iTOP-iMX6- Ubuntu-WiFi_mt6620的移植.zip
ITOP-4412-QtE系统-opencv移植.pdf
iTOP-iMX6-Android4.4-GPS屏蔽.txt
iTOP-iMX6-VGA模块使用文档_V1.0.pdf
iTOP-iMX6-Android-LVDS和HDMI双屏异显使用文档_V1.0.pdf
iTOP-开发板-Android-系统修改文件夹权限使用文档_V1.0.pdf
iTOP-开发版-Android-系统卸载默认apk使用文档_V1.0.pdf
linux下vim使用详解.pdf
iTOP-iMX6-uboot修改开机log使用手册_v1.0.zip
iTOP-iMX6-平台文件注册设备_V1.0.pdf
iTOP-开发板-QtE系统简介_V1.0.pdf
iTOP-开发板-驱动-mmc升级驱动修改_V1.0.zip
iTOP-iMX6Q&D-开发板-屏幕背光亮度调整_V1.0.pdf
iTOP-开发板-QtE-调用shell命令使用文档.zip
iTOP-开发板-MiniLinux-C程序调用shell命令.zip
iTOP-iMX6-驱动-实时时钟RTC以及Linux-c测试例程_V1.0.zip
iTOP-iMX6-NFS共享目录_V1.1.pdf
iTOP-iMX6-Android4.4-设置MAC地址_V1.0.pdf
iTOP-iMX6-MiniLinux-GPS使用文档_V1.0.zip
iTOP-开发板-Qt系统-修改和固定MAC地址IP地址等网络参数_V1.0.pdf
iTOP-开发板-驱动-RS85模块ioctl操作时间间隔修改_V1.0.pdf
iTOP-实战-GPS模块的数据格式_V1.0.pdf
iTOP-iMX6-Android-串口测试文档(升级版)_V2.0.zip
iTOP-开发板-modbus移植和使用文档_V1.0.zip
iTOP-iMX6-MiniLinux-RS485测试使用文档_V1.1.zip
iTOP-开发板-串口的基础知识和快速测试方法_V1.0.pdf
iTOP-开发板-驱动-usb转串口ch34x移植使用文档_V1.0.zip
iTOP-iMX6-Ubuntu-CAN测试使用文档_V1.0.zip
iTOP-iMX6Q&D-开发板-Ubuntu系统10分钟不关屏幕(关闭standby模式)_V1.1.zip
iTOP-开发板-cadence allegro的安装_V1.0.pdf
iTOP-iMX6-Android-串口屏蔽gps文档及测试例程_V1.0.zip
iTOP-iMX6-核心板引出管脚说明_V1.0.pdf
iTOP-iMX6-Android-can测试例程介绍_V1.0.pdf
iTOP-iMX6-uboot-网络设置和测试_V1.0.pdf
iTOP-iMX6-设备树QtE-usbwifi-RTL8723BU使用文档_V1.0.zip
iTOP-iMX6-Ubuntu16-usbwifi-RTL8723BU使用文档_V1.0.zip
iTOP-开发板-QtE5.7系统-10.1寸屏触摸_V1.0.pdf
iTOP-iMX6-设备树内核-在内核源码中以moles的方式编译驱动_V1.0.pdf
iTOP-iMX6-设备树内核-缺省文件文件的配置_V1.0.pdf
iTOP-iMX6-设备树内核-menuconfig的使用 _V1.0.pdf
iTOP-iMX6-设备树驱动-以mole的方式编译驱动_V1.0.zip
iTOP-iMX6-设备树内核-设备树相关文件简要分析_V1.0.pdf
iTOP-iMX6-设备树内核-IO配置分析文档_V1.0.pdf
iTOP-iMX6-设备树内核-sys方式控制GPIO_V1.0.pdf
iTOP-iMX6-设备树内核-注册设备例程_V1.0.pdf
iTOP-iMX6-设备树内核-注册驱动例程_V1.0.zip
iTOP-iMX6-设备树内核-IO扩展配置和测试02_V1.0.zip
iTOP-iMX6-设备树内核-IO扩展配置和测试01_V1.0.zip
iTOP-iMX6-设备树内核-获取CPU唯一ID_V1.0.zip
iTOP-iMX-设备树内核-屏幕背光亮度调整_V1.0.pdf
iTOP-iMX6-设备树-独立中断例程_V1.0.zip
iTOP-iMX6-设备树内核-实时时钟RTC以及Linux-c测试例程_V1.0.zip
iTOP-IMX6-设备树内核-watchdog看门狗例程_V1.0.zip
iTOP-iMX6-设备树内核-配置和实现pwm蜂鸣器 _V1.0.pdf
iTOP-iMX6UL-QtE5.7移植文档_V1.0.pdf
iTOP-IMX6UL开发板-ctrl+c无效修改办法.pdf
iTOP-IMX6UL开发板-ctrl+c无效修改办法.pdf
imx6q设备树-RFID驱动.zip
iTOP-iMX6Q&PLUS-Android6.0下uboot添加网卡驱动.pdf
iTOP-4412-QtE4.7-UVC摄像头使用例程_V1.0.zip

❷ 如何使用dtc编译设备树 devicetree

DTS (device tree source)
.dts文件是一种ASCII 文本格式的Device
Tree描述,此文本格式非常人性化,适合人类的阅读习惯。基本上,在ARM
Linux在,一个.dts文件对应一个ARM的machine,一般放置在内核的arch/arm/boot/dts/目录。由于一个SoC可能对应多个machine(一个SoC可以对应多个产品和电路板),势必这些.dts文件需包含许多共同的部分,Linux内核为了简化,把SoC公用的部分或者多个machine共同的部分一般提炼为.dtsi,类似于C语言的头文件。其他的machine对应的.dts就include这个.dtsi。譬如,对于VEXPRESS而言,vexpress-v2m.dtsi就被vexpress-v2p-ca9.dts所引用,
vexpress-v2p-ca9.dts有如下一行:
/include/
"vexpress-v2m.dtsi"
当然,和C语言的头文件类似,.dtsi也可以include其他的.dtsi,譬如几乎所有的ARM
SoC的.dtsi都引用了skeleton.dtsi。
.dts(或者其include的.dtsi)基本元素即为前文所述的结点和属性:

[plain] view
plainprint?

/ {

node1 {

a-string-property = "A string";

a-string-list-property = "first string", "second string";

a-byte-data-property = [0x01 0x23 0x34 0x56];

child-node1 {

first-child-property;

second-child-property = <1>;

a-string-property = "Hello, world";

};

child-node2 {

};

};

node2 {

an-empty-property;

a-cell-property = <1 2 3 4>; /* each number (cell) is a uint32 */

child-node1 {

};

};

};
/ {
node1 {
a-string-property = "A string";
a-string-list-property = "first string", "second string";
a-byte-data-property = [0x01 0x23 0x34 0x56];
child-node1 {
first-child-property;
second-child-property = <1>;
a-string-property = "Hello, world";
};
child-node2 {
};
};
node2 {
an-empty-property;
a-cell-property = <1 2 3 4>; /* each number (cell) is a uint32 */
child-node1 {
};
};
};
上述.dts文件并没有什么真实的用途,但它基本表征了一个Device
Tree源文件的结构:
1个root结点"/";
root结点下面含一系列子结点,本例中为"node1" 和
"node2";
结点"node1"下又含有一系列子结点,本例中为"child-node1" 和
"child-node2";
各结点都有一系列属性。这些属性可能为空,如"
an-empty-property";可能为字符串,如"a-string-property";可能为字符串数组,如"a-string-list-property";可能为Cells(由u32整数组成),如"second-child-property",可能为二进制数,如"a-byte-data-property"。
下面以一个最简单的machine为例来看如何写一个.dts文件。假设此machine的配置如下:
1个双核ARM
Cortex-A9 32位处理器;
ARM的local bus上的内存映射区域分布了2个串口(分别位于0x101F1000 和
0x101F2000)、GPIO控制器(位于0x101F3000)、SPI控制器(位于0x10170000)、中断控制器(位于0x10140000)和一个external
bus桥;
External bus桥上又连接了SMC SMC91111
Ethernet(位于0x10100000)、I2C控制器(位于0x10160000)、64MB NOR
Flash(位于0x30000000);
External bus桥上连接的I2C控制器所对应的I2C总线上又连接了Maxim
DS1338实时钟(I2C地址为0x58)。
其对应的.dts文件为:

[plain] view
plainprint?

/ {

compatible = "acme,coyotes-revenge";

#address-cells = <1>;

#size-cells = <1>;

interrupt-parent = <&intc>;cpus {

#address-cells = <1>;

#size-cells = <0>;

cpu@0 {

compatible = "arm,cortex-a9";

reg = <0>;

};

cpu@1 {

compatible = "arm,cortex-a9";

reg = <1>;

};

};serial@101f0000 {

compatible = "arm,pl011";

reg = <0x101f0000 0x1000 >;

interrupts = < 1 0 >;

};serial@101f2000 {

compatible = "arm,pl011";

reg = <0x101f2000 0x1000 >;

interrupts = < 2 0 >;

};gpio@101f3000 {

compatible = "arm,pl061";

reg = <0x101f3000 0x1000

0x101f4000 0x0010>;

interrupts = < 3 0 >;

};intc: interrupt-controller@10140000 {

compatible = "arm,pl190";

reg = <0x10140000 0x1000 >;

interrupt-controller;

#interrupt-cells = <2>;

};spi@10115000 {

compatible = "arm,pl022";

reg = <0x10115000 0x1000 >;

interrupts = < 4 0 >;

};external-bus {

#address-cells = <2>

#size-cells = <1>;

ranges = <0 0 0x10100000 0x10000 // Chipselect 1, Ethernet

1 0 0x10160000 0x10000 // Chipselect 2, i2c controller

2 0 0x30000000 0x1000000>; // Chipselect 3, NOR Flashethernet@0,0 {

compatible = "smc,smc91c111";

reg = <0 0 0x1000>;

interrupts = < 5 2 >;

};i2c@1,0 {

compatible = "acme,a1234-i2c-bus";

#address-cells = <1>;

#size-cells = <0>;

reg = <1 0 0x1000>;

interrupts = < 6 2 >;

rtc@58 {

compatible = "maxim,ds1338";

reg = <58>;

interrupts = < 7 3 >;

};

};flash@2,0 {

compatible = "samsung,k8f1315ebm", "cfi-flash";

reg = <2 0 0x4000000>;

};

};

};
/ {
compatible = "acme,coyotes-revenge";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&intc>;

cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
compatible = "arm,cortex-a9";
reg = <0>;
};
cpu@1 {
compatible = "arm,cortex-a9";
reg = <1>;
};
};

serial@101f0000 {
compatible = "arm,pl011";
reg = <0x101f0000 0x1000 >;
interrupts = < 1 0 >;
};

serial@101f2000 {
compatible = "arm,pl011";
reg = <0x101f2000 0x1000 >;
interrupts = < 2 0 >;
};

gpio@101f3000 {
compatible = "arm,pl061";
reg = <0x101f3000 0x1000
0x101f4000 0x0010>;
interrupts = < 3 0 >;
};

intc: interrupt-controller@10140000 {
compatible = "arm,pl190";
reg = <0x10140000 0x1000 >;
interrupt-controller;
#interrupt-cells = <2>;
};

spi@10115000 {
compatible = "arm,pl022";
reg = <0x10115000 0x1000 >;
interrupts = < 4 0 >;
};

external-bus {
#address-cells = <2>
#size-cells = <1>;
ranges = <0 0 0x10100000 0x10000 // Chipselect 1, Ethernet
1 0 0x10160000 0x10000 // Chipselect 2, i2c controller
2 0 0x30000000 0x1000000>; // Chipselect 3, NOR Flash

ethernet@0,0 {
compatible = "smc,smc91c111";
reg = <0 0 0x1000>;
interrupts = < 5 2 >;
};

i2c@1,0 {
compatible = "acme,a1234-i2c-bus";
#address-cells = <1>;
#size-cells = <0>;
reg = <1 0 0x1000>;
interrupts = < 6 2 >;
rtc@58 {
compatible = "maxim,ds1338";
reg = <58>;
interrupts = < 7 3 >;
};
};

flash@2,0 {
compatible = "samsung,k8f1315ebm", "cfi-flash";
reg = <2 0 0x4000000>;
};
};
};
上述.dts文件中,root结点"/"的compatible 属性compatible =
"acme,coyotes-revenge";定义了系统的名称,它的组织形式为:<manufacturer>,<model>。Linux内核透过root结点"/"的compatible
属性即可判断它启动的是什么machine。
在.dts文件的每个设备,都有一个compatible
属性,compatible属性用户驱动和设备的绑定。compatible
属性是一个字符串的列表,列表中的第一个字符串表征了结点代表的确切设备,形式为"<manufacturer>,<model>",其后的字符串表征可兼容的其他设备。可以说前面的是特指,后面的则涵盖更广的范围。如在arch/arm/boot/dts/vexpress-v2m.dtsi中的Flash结点:

[plain] view
plainprint?

flash@0,00000000 {

compatible = "arm,vexpress-flash", "cfi-flash";

reg = <0 0x00000000 0x04000000>,

<1 0x00000000 0x04000000>;

bank-width = <4>;

};
flash@0,00000000 {
compatible = "arm,vexpress-flash", "cfi-flash";
reg = <0 0x00000000 0x04000000>,
<1 0x00000000 0x04000000>;
bank-width = <4>;
};
compatible属性的第2个字符串"cfi-flash"明显比第1个字符串"arm,vexpress-flash"涵盖的范围更广。
再比如,Freescale
MPC8349 SoC含一个串口设备,它实现了国家半导体(National Semiconctor)的ns16550
寄存器接口。则MPC8349串口设备的compatible属性为compatible = "fsl,mpc8349-uart",
"ns16550"。其中,fsl,mpc8349-uart指代了确切的设备, ns16550代表该设备与National Semiconctor
的16550
UART保持了寄存器兼容。
接下来root结点"/"的cpus子结点下面又包含2个cpu子结点,描述了此machine上的2个CPU,并且二者的compatible
属性为"arm,cortex-a9"。
注意cpus和cpus的2个cpu子结点的命名,它们遵循的组织形式为:<name>[@<unit-address>],<>中的内容是必选项,[]中的则为可选项。name是一个ASCII字符串,用于描述结点对应的设备类型,如3com
Ethernet适配器对应的结点name宜为ethernet,而不是3com509。如果一个结点描述的设备有地址,则应该给出@unit-address。多个相同类型设备结点的name可以一样,只要unit-address不同即可,如本例中含有cpu@0、cpu@1以及serial@101f0000与serial@101f2000这样的同名结点。设备的unit-address地址也经常在其对应结点的reg属性中给出。ePAPR标准给出了结点命名的规范。

❸ uboot导致kernel设备树读取头就错了

今天在学习嵌入式linux的uboot系统移植时出现了一个问题,挂载内核无反应。先贴图

问题排查

一开始我的反应是网络的问题,我就开始排查网络,测试uboot下开发板是否能ping虚拟机

发现是没有问题的,接下来我就想去试试虚拟机是否也能ping通开发板,当然我已经是完成我的开发
板的网络配置。然后出现的情况是

发现并不能ping通开发板。于是我开始纳闷是否是我的网口以及网络配置出错了。针对于此我进行了
以下几项排查工作:

1、开发板的网络环境搭建

这里我使用的设备是台式机电脑,开发板,光猫一台,网线2条。(PS:这里我明白了带路由器功能的
光猫就相当于普通光猫接路由器)然后进入虚拟机中将网络连接设置为桥接模式。

2、设置主机、虚拟机、开发板IP都在同一网段

经配置之后各IP分别是:主机:192.168.1.4,虚拟机:192.168.1.6,开发板:192.168.1.10
至此我已经配置完成网络情况,开始进行相互的ping测试,结果发现主机和虚拟机之间ping不通,经过
网络一查,才知道要关闭主机和linux虚拟机的防火墙。关于如何关闭两者防火墙参考链接:
https://blog.csdn.net/m0_54203133/article/details/112428037

以上步骤我试了很多次还是没能解决。然后我继续寻找相关资料,直到看到正点原子的文档中的一段话:

看到这句话我恍然大悟,我一直苦苦纠结IP网络配置并不是造成错误的唯一原因,当开发板能够ping通
虚拟机和主机的时候,就已经说明上述的两个步骤我已经配置正确了。那么既然网络配置没有问题,那就应
该是TFTP的问题吧,因为我们使用的网络传输是TFTP协议肆孙,我转而开始排查TFTP环境搭建。

发现问题

我跟着tftp环境搭建的步骤一步一步的重新配置,结果总算是发现问题所在:

在tftp-hpa配置文件中,不知道怎么我这里根目录下的home家目录多了一个o,这样就导致了在传输的
时候无法按照有效路径获取虚拟机上的文件。终于解决了这个问题。然后修改了之后马上进行试验,却又
出现了另一个问题。

可以看到“TFTP error: 'Permission denied' (0)”这样的错误提示,提示没有权限,然后经过我查资料,
出现这个错误一般有两个原因:
1、在 Ubuntu 中创建 tftpboot 目录的时候没有给予 tftboot 相应的权限。
2、tftpboot 目录中要下载的文件没有给予相应的权限。
针对这两个原因,我们需要一个个的排查,都给上最高权限。使用命令" chmod 777 xxx ",其中“xxx”就
是要给予权限的文件或者文件夹。至此,问题终于得以解决,最终正确的结果如图

总结

针对uboot阶段无法使用tftp(或者nfs)挂载内核和设备树的一般解决思路。
1、检查闹雹源开发板网络环境的搭建是否正确,也就是关于主机,虚拟机,开发板,路由器或者交换机之间网线
连接是否正确,对应的IP配置是否正确,防火墙是否关闭,最终的检测方法就是使用ping测试,开发板能
够ping通ubuntu虚拟机和windows主机即可,这一步检查完成,不用管ubuntu是否能ping通uboot阶段的开
发板(这是我犯的错误)。

2、如果完成第1个仍没有解决,那就去检查tftp和nfs的环境配置是否正确,这里有一些配置文件需要进行
修改,需要仔细核对是否修改正确了,尤其是文件路径是否正确了,像我这次的问题就在于文件路径出错,
导致找不到文件,还没有有效的提醒,如果路径正确,目标文件不存在还会有提醒(此文件不存在)。

3、这是对第2步的补充,出现提示权限问题,则我们对相应的文件及文件夹进行开最高权限(本应该如此)。

4、对于前3步的结果我们也可以通过一种方法来验证。我们将开发板进入到linux系统中去,然后在开发液态板
文件系统中执行相关的命令(跟在普通linux环境中一样),使用tftp命令或者nfs命令,将虚拟机中自己新建
的一个测试文件传输到开发板中,查看是否能够传输成功,从而验证整个环境是否搭建成功。

❹ 如何在linux-3.x内核编译设备树

可以让设备树文件和内核一起编译,单独编译的化,可以参考下面的文档:
http://blog.csdn.net/woshigaoyuan/article/details/13996277

❺ 编译linux内核设备树文件使用什么命令

Linux源码的arch/powerpc/boot/dts/目录下存放了很多dts文件,可以作为参考文件。另外dtc编译器在内核源码2.6.25版本之后已经被包含进去。在2.6.26版本之后,生成blob的简单规则已经加入makefile,如下命令:
$ make ARCH=powerpc canyonlands.dtb

也可以根据自己的硬件修改好dts文件后,用下面类似命令生成dtb文件。
$ dtc -f -I dts -O dtb -R 8 -S 0x3000 test.dts > mpc836x_mds.dtb

$ mkimage -A ppc -O Linux -T flat_dt -C none -a 0x300000 -e 0 -d mpc836x_mds.dtb mpc836x_mds.dtu

❻ 单独编译内核和设备树

source /opt/fsl-imx-xwayland/4.19-warrior/environment-setup-aarch64-poky-linux
export ARCH=arm64
make -j 16
生成的Image 和dtb在下面的路径
~/imx-yocto-bsp/build-imx8mmevk/tmp/work/imx8mmevk-poky-linux/linux-imx/4.19.35-r0/git/arch/arm64/boot

热点内容
安卓网页怎么截取 发布:2024-05-18 20:53:56 浏览:970
在配置更新的时候没电关机怎么办 发布:2024-05-18 20:36:10 浏览:927
win7访问win2000 发布:2024-05-18 20:27:41 浏览:388
青岛人社局密码多少 发布:2024-05-18 20:19:10 浏览:734
无法存储呼叫转移 发布:2024-05-18 20:18:30 浏览:126
数据库的调优 发布:2024-05-18 20:18:29 浏览:346
sqlserver注册表清理 发布:2024-05-18 20:13:14 浏览:991
linux删除连接 发布:2024-05-18 20:06:56 浏览:822
linux搭建云服务器平台 发布:2024-05-18 19:52:21 浏览:402
安卓怎么关闭美易订阅 发布:2024-05-18 19:29:16 浏览:644