1,下载uboot_dnw源码
https://github.com/plinx/uboot_dnw
2、将cmd_usbd.c拷贝到u-boot-2010.03/common目录下
3,修改u-boot-2010.03/common/Makefile
# core command
...
COBJS-y += cmd_usbd.o
4,将usbd-otg-hs.h,usbd-otg-hs.c拷贝到u-boot/cpu/arm1176/s3c64xx/
5,将regs.h,s3c64x0.h 拷贝到u-boot/include/
6,修改include/configs/smdk6410.h文件,加入下面两句
#define CONFIG_S3C_USBD
#define USBD_DOWN_ADDR 0xc0000000
注意:我这里是开发板uboot的dnw和Linux下的dnw相互通讯,而且在使用中发现不是很稳定,经常出现下面的情况:
Writing data...
failed!
具体原因不是太清楚,但在dnw传输文件时,要保证开发板运行了dnw,并保持连接状态。
Insert a OTG cable into the connector!
OTG cable Connected!
Now, Waiting for DNW to transmit data
如果还是不行,检查usb连接线,或者拔出重新插入,而且usb驱动是否加载上。
运行命令: lsmod | grep secbulk
secbulk 12728 0
说明驱动已经加载上。
关键字:移植 u-boot
引用地址:
移植u-boot-2010.03问题 --- 支持dnw
推荐阅读最新更新时间:2026-03-19 12:13
移植u-boot-2010.03问题 --- 支持dnw
1,下载uboot_dnw源码 https://github.com/plinx/uboot_dnw 2、将cmd_usbd.c拷贝到u-boot-2010.03/common目录下 3,修改u-boot-2010.03/common/Makefile # core command ... COBJS-y += cmd_usbd.o 4,将usbd-otg-hs.h,usbd-otg-hs.c拷贝到u-boot/cpu/arm1176/s3c64xx/ 5,将regs.h,s3c64x0.h 拷贝到u-boot/include/ 6,修改include/configs/smdk6410.h文件,加入下面两句 #define CON
[单片机]
【IMX6ULL学习笔记】五、U-BOOT移植与解析
一、移植自定义开发板流程 1、添加 mx6ull_kodo_emmc_defconfig 配置文件(.config) 在 /config s目录下,复制 mx6ull_14x14_evk_emmc_defconfig 文件,重命名为 mx6ull_kodo_emmc_defconfig 并修改其中内容,如下: CONFIG_SYS_EXTRA_OPTIONS= IMX_CONFIG=board/freescale/mx6ull_kodoboard/imximage.cfg,MX6ULL_EVK_EMMC_REWORK CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_MX6ULL_K
[单片机]
u-boot 移植 --->1、u-boot配置(Kbuild)
早期的U-BOOT的裁剪是没有使用Kbuild工具的,后来就借鉴了Linux的Kbuild同时也是方便使用者裁剪,因为他的原理和Linux内核的配置裁剪原理是相同的。今天拿来分析的U-Boot的版本是u-boot-2017.11,主要原因是我电脑上的gcc版本编译不了更新的版本,但是不影响拿来学习。U-boot开始编译之前需要先执行make xxxdefconfig 进行U-boot 的配置裁剪,之后才能进行编译Kbuild就是在第一步中发挥主要作用的。本次使用的默认文件为三星s5p_goni_defconfig。 运行 通过执行make V=1 s5p_goni_defconfig 会发现其实他就是生成了一个conf可执行文
[单片机]
u-boot 移植 --->2、在u-boot新增SOC和板子
本次主要是要新增一个samsung的芯片到u-boot中,网上查阅资料发现s5pc1xx是与手上的S5PV210的友善的Tiny版子寄存器兼容的比较多,所以就准备以他为基础增加一个我的板子的支持到u-boot中。 step1 拷贝archarm目录下的mach-s5pc1xx目录修改名称为mach-s5pv210,注意这里的mach-xxx后面的xxx的命令是和Kconfig文件一会的修改相关的。 step2 在archarmKconfig 文件中增加新的芯片这里参考s5pc1xx的内容 。 。 。 config ARCH_S5PC1XX bool Samsung S5PC1XX select CPU_V7 sele
[单片机]
U-boot内核移植步骤
Linux 3.3.5系统移植 将arch/arm/mach-s3c6410/下的,mach-smdk6410.c cp为mach-my6410.c; 打开arch/arm/mach-s3c6410/下的Kconfig,仿照MACH_SMDK6410做一个菜单项: config MACH_MY6410 bool MY6410 select CPU_S3C6410 select SAMSUNG_DEV_ADC select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_I2C1 select SAMSUNG_DEV_IDE select
[单片机]
linux移植u-boot(一)——U-Boot详解+自定义命令实战
一、Bootloader 简单地说:Bootloader主要功能就是 在系统上电时开始执行,初始化硬件和设备,准备好软件环境,最后调用操作系统。 具体的包含:关闭你看门狗WATCHDOG,改变系统时钟,初始化存储控制器 ,将操作系统内核代码复制到内存中去运行。 为了开发方便,可以增加网络功能,从PC上通过串口或者网络下载文件,烧写文件,将flash上的内核代码解压后运行等。 Bootloader分为两种模式: (1):启动加载模式:上电后,Bootloader在板子上的某个固态存储设备上将操作系统加载到RAM中运行,没有用户的介入 (2):下载模式:开发人员可以使用各种命令,允许在各种工作模式之间切换,通过串口或者网络
[单片机]
U-Boot移植(6)总结U-Boot工程的总体结构
1、源代码组织 对于ARM而言,主要的目录如下: board 平台依赖 存放电路板相关的目录文件,每一套板子对 应一个目录。如smdk2410(arm920t) cpu 平台依赖 存放CPU相关的目录文件,每一款CPU对应一个目录,例如:arm920t、 xscale、i386等目录 lib_arm 平台依赖 存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数,如软件浮点。 common 通用 通用的
[单片机]
U-Boot移植(8)u-boot的流程
u-boot的启动流程: 从文件层面上看主要流程是在两个文件中:cpu/arm920t/start.s,lib_arm/board.c, 1)start.s 在flash中执行的引导代码,也就是bootloader中的stage1,负责初始化硬件环境,把u-boot从flash加载到RAM中去,然后跳到lib_arm/board.c中的start_armboot中去执行。 1.1.6u-boot的start.s流程: 硬件环境初始化: 进入svc模式;关闭watch dog;屏蔽所有IRQ掩码;设置时钟频率FCLK、HCLK、PCLK;清I/D cache;禁止MMU和CACHE;配置memory cont
[单片机]