at91sam9260 OpenWRT u-boot移植
来源:互联网 发布:Python吧 编辑:程序博客网 时间:2024/06/05 20:45
ateml9260 移植OpenWRT U-boot
1. 直接在make menuconfig中选择编译at91sam9260ek平台的u-boot,烧写到开发板后效果
**U-Boot 2010.06-dirty (Jun 28 2017 - 09:14:34)DRAM: 64 MiBNAND: 1024 MiB*** Warning - bad CRC, using default environmentIn: serialOut: serialErr: serialNet: macb0macb0: Starting autonegotiation...**
==警告,u-boot环境变量校验失败,并且一段时间后启动重启(怀疑看门狗打开,但没有喂狗)==
编译修改的地方:
1./home/lhl/OpenWRT/openwrt/build_dir/target-arm_arm926ej-s_musl-1.1.16_eabi/linux-at91_legacy/u-boot-2010.06/arch/arm/lib/board.c
的95-102的和/home/lhl/OpenWRT/openwrt/build_dir/target-arm_arm926ej-s_musl-1.1.16_eabi/linux-at91_legacy/u-boot-2010.06/common/main.c
的50的inline去掉
2./home/lhl/OpenWRT/openwrt/build_dir/target-arm_arm926ej-s_musl-1.1.16_eabi/linux-at91_legacy/u-boot-2010.06/commom/usb_strorage.c的412wait_ms未定义,修改./common/usb.c 90行的inline
2.( * Warning - bad CRC, using default environment)
2.1:修改开发板的配置文件
include/configs/at91sam9260ek.h,该文件包括开发板的外围硬件的配置信息以及环境变量配置信息
2.2 :u-boot第一次启动后,需要使用saveenv保存配置信息到nand中,之后在启动后就不会提示( * Warning - bad CRC, using default environment)信息
3.u-boot watchdog复位
编译参考文档:doc/README.at91
3.1因为at91的bootstrap启动了看门狗,所以在u-boot中需要启动看门狗,启动方式如READ.at91文档所说,需要启用CONFIG_AT91SAM9_WATCHDOG和CONFIG_HW_WATCHDOG两个选项,该选项启动后,会在include/config.h中保存.
配置方式为:在Makefile中直接将两个配置项写入例如:
**
echo “#define CONFIG_AT91SAM9_WATCHDOG 1” >>(obj)include/config.h ; \
echo “#define CONFIG_HW_WATCHDOG 1” >>(obj)include/config.h ; \
**
4.u-boot增加DTS支持
1.CONFIG_OF_LIBFDT
需要在config.h中增加CONFIG_OF_LIBFDT配置项,该配置项的作用为为linux内核提供FDT参数,其提供的功能如下:
*支持libfdt-based
*增加”fdt”命令
*bootm命令会自动的更新fdt
2.CONFIG_SYS_BOOTMAPSZ
如果不定义该选项,会报错:image.c: In function 'boot_relocate_fdt':image.c:1210:13: error: 'CONFIG_SYS_BOOTMAPSZ' undeclared (first use in this function) ((char *)CONFIG_SYS_BOOTMAPSZ + bootmap_base)) * For booting Linux, the board info and command line data * have to be in the first 8 MB of memory, since this is * the maximum mapped by the Linux kernel during initialization. */ #define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
3.CONFIG_OF_BOARD_SETUP
Board code has addition modification that it wants to make to the flat device tree before handing it off to the kernel
4.CONFIG_LMB
如果不定义,会报错:cmd_bootm.c: In function 'do_bootm_subcommand':cmd_bootm.c:545:35: error: 'bootm_headers_t {aka struct bootm_headers}' has no member named 'lmb'ret = boot_relocate_fdt(&images.lmb, bootmap_base,
- at91sam9260 OpenWRT u-boot移植
- at91sam9260的u-boot移植
- 编译u-boot for at91sam9260
- AT91SAM9260下的U-Boot移植和添加LCD驱动支持
- AT91SAM9260下的U-Boot移植和添加LCD驱动支持
- Openwrt移植IMX6之增加u-boot支持
- IMX6之Openwrt移植增加u-boot支持
- XSBase255B -- u-boot移植
- u-boot移植心得
- u-boot移植日记
- U-BOOT移植
- 移植u-boot
- u-boot移植三
- U-BOOT移植总结
- U-boot移植说明
- at91rm9200移植u-boot
- lpc2210 u-boot移植
- U-BOOT移植小解
- SSS1530|USB音频芯片方案|Type-C耳机方案|SSS1530一级代理|中文设计方案
- HTML5 | Web Storage
- JAVA自学(一)
- 固定宽度的DIV中英文不能自动换行
- struct rlimit介绍
- at91sam9260 OpenWRT u-boot移植
- pythonWeb -- Django开发-创建一个Django项目
- 关于Java Web使用的DataTables插件获取所有数据以及表格刷新
- 常用STL模板
- ros基础学习测验——ros-indigo下制作简易小车并利用turtlesim包实现键盘控制
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- spring security
- populating-next-right-pointers-in-each-node
- JAVA自学(二)