【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用(2)
2016-07-25 14:14
375 查看
在前面的文章中,我们已经使用Yocto构建出一个Rootfs,但是因为WatchDog的缘故,启动没有多久就重启了。下面我们来解决这个问题。
WatchDog的Disable
我们既可以在Rootfs启动后定期喂狗,也可以直接在kernel中disable Watchdog,在开发初期我们选择在内核中直接去掉比较快。
内核配置
使用make menuconfig来配置,结果出现了错误:
这个明显是因为确实Libary的问题,这个缺少的是libreadline,因此安装即可:
sudo apt-get install libreadline5-dev
然后在menuconfig中,我们可以查到Watchdog的位置,因此我们找到disable即可:
然后重新编译,再次测试发现还是会重启。看起来是uboot中就开启了,然后内核中还是需要去关掉才行,或者直接在uboot中需要关闭。
然后将板子开启到uboot中,停留一会发现确实会自动重启,因此可以确定是uboot中的开启了watchdog。然后查看用户手册,可以看到其Watchdog电路如下:
因此我们只需要短接J3即可。
如果想在uboot中disable,那么可以将下面几个宏去掉:
然后重新编译烧写即可。
暂时我们就先这样子做,以后我们将会在Yocto中添加代码来对应此问题,对于如何喂狗可以参考官方给的代码,代码位于:
test_code/watchdog/main.c
同时也可以看看TI的官方说明:
http://processors.wiki.ti.com/in ... T_Driver_User_Guide
官方wiki中也有对应的说明以及代码。
内核模块的处理前面我们使用Yocto编译出来了rootfs,但是rootfs中的kernel modules并不能用,因为Yocto里面默认的内核不是我们的内核,因此,我们需要将我们的内核的模块安装到对应的rootfs中。
内核的安装非常容易,只需要make modules_install的时候指定即可。
首先编译modules:
make modules
然后install modules:
make ARCH=arm INSTALL_MOD_PATH=/home/hexiongjun/nfs/evb335xii_mini modules_install
然后可以看到安装后了的kernel modules:
然后再次启动内核既可以使用了。
WatchDog的Disable
我们既可以在Rootfs启动后定期喂狗,也可以直接在kernel中disable Watchdog,在开发初期我们选择在内核中直接去掉比较快。
内核配置
使用make menuconfig来配置,结果出现了错误:
这个明显是因为确实Libary的问题,这个缺少的是libreadline,因此安装即可:
sudo apt-get install libreadline5-dev
然后在menuconfig中,我们可以查到Watchdog的位置,因此我们找到disable即可:
然后重新编译,再次测试发现还是会重启。看起来是uboot中就开启了,然后内核中还是需要去关掉才行,或者直接在uboot中需要关闭。
然后将板子开启到uboot中,停留一会发现确实会自动重启,因此可以确定是uboot中的开启了watchdog。然后查看用户手册,可以看到其Watchdog电路如下:
因此我们只需要短接J3即可。
如果想在uboot中disable,那么可以将下面几个宏去掉:
然后重新编译烧写即可。
暂时我们就先这样子做,以后我们将会在Yocto中添加代码来对应此问题,对于如何喂狗可以参考官方给的代码,代码位于:
test_code/watchdog/main.c
同时也可以看看TI的官方说明:
http://processors.wiki.ti.com/in ... T_Driver_User_Guide
官方wiki中也有对应的说明以及代码。
内核模块的处理前面我们使用Yocto编译出来了rootfs,但是rootfs中的kernel modules并不能用,因为Yocto里面默认的内核不是我们的内核,因此,我们需要将我们的内核的模块安装到对应的rootfs中。
内核的安装非常容易,只需要make modules_install的时候指定即可。
首先编译modules:
make modules
然后install modules:
make ARCH=arm INSTALL_MOD_PATH=/home/hexiongjun/nfs/evb335xii_mini modules_install
然后可以看到安装后了的kernel modules:
然后再次启动内核既可以使用了。
相关文章推荐
- Enable DCAN For BeagleBoneBlack ChipSee Exp V1
- TI AM335X几款开发板推荐
- AM335x启动流程(BootRom->MLO->Uboot)
- 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第三篇 新版uboot(2015.04-r0)网卡移植(RTL8211E)
- 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第一篇 yocto项目建立
- Yocto BSP 开发说明
- yocto-APP开发环境搭建
- Freescale Yocto的安装,环境Ubuntu14.04
- 在Beaglebone Black板上使用Yocto移植Qt5
- ARM Linux教程之四:安装交叉编译环境
- Am335x 启动过程
- 初识AM335X
- AM335X之inittab
- linux的运行模式:runlevel
- Am335X编译调试环境搭建
- AM335X之TI 文档
- Am335x 之GPIO控制
- Am335x 下GPIO控制实例
- Am335x之u-boot LOGO的增加
- Am335x 应用层之SPI操作