S3C6410移植u-boot-2010.3(5)Dnw for linux

发布时间:2024-09-03  


  现在开始记录在linux上安装dnw功能


  想要源代码,可以到这里fork


https://github.com/Qunero/dnw4linux

  详细的使用,README里面讲得很清楚了,不加赘述了。


  这里只讲一下怎么使用。


  1、加载模块.ko文件


$ cd secbulk_driver/

$ insmod secbulk.ko

  然后确认一下已经加载


$ lsmod | grep secbulk

//若正确加载了,应该有回显

secbulk                12728  0 

  2、插入USB to miniUSB线


  然后查看一下系统信息


$ dmesg

//正常情况下应该有如下信息在最末端

[15424.424366] usb 1-3: new full-speed USB device number 9 using ohci_hcd

[15424.657680] secbulk:secbulk probing...

[15424.657684] secbulk:bulk out endpoint found!

  3、下载uImage镜像


  首先是目标板端


# dnw 50008000

  然后是PC端


$ dnw arch/arm/boot/uImage

  目标板显示如下内容时则完成传输 


Download Done!! Download Address: 0x50008000, Download Filesize:0x378414

Checksum is being calculated....

Checksum O.K.

  接着进行如下操作


# nand erase 10000 50000

//将1M - 5M的空间清除,即为Image的存放地址

# nand write 50008000 10000 50000

//将50008000除下载的uImage写入刚才清除的空间

# reset

//重启


//然后会发现卡在starting kernel的地方进入不了系统


  此时出现的问题有两种可能:


  1)BOOTCOMMAND设置不对,回头检查一下自己的/include/configs/smdk6410.h


  2)make uImage的时候未设定参数


  具体原因可以参详


http://www.cnblogs.com/sywtt/archive/2012/01/25/2329284.html

  这里我的具体方案是


$ mkimage -n 'linux-3.0.1' -A arm -O linux -T kernel -C none -a 0x50008000 -e 0x50008040 -d zImage uImage

//zImage得在当前目录下

//创建的uImage权限未0664, 改为0775

  此时能启动开发板了,但是在启动过程中卡在下面的错误


s3c-rtc s3c64xx-rtc: setting system clock to 2021-04-14 21:21:47 UTC (1618435307)

Root-NFS: no NFS server address

VFS: Unable to mount root fs via NFS, trying floppy.

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

[] (unwind_backtrace+0x0/0xfc) from [] (dump_stack+0x18/0x1c)

[] (dump_stack+0x18/0x1c) from [] (panic+0x60/0x1ac)

[] (panic+0x60/0x1ac) from [] (mount_block_root+0x204/0x25c)

[] (mount_block_root+0x204/0x25c) from [] (mount_root+0x88/0xd0)

[] (mount_root+0x88/0xd0) from [] (prepare_namespace+0x10c/0x1a8)

[] (prepare_namespace+0x10c/0x1a8) from [] (kernel_init+0xf0/0x130)

[] (kernel_init+0xf0/0x130) from [] (kernel_thread_exit+0x0/0x8)


  这个问题比较好理解VFS挂载的问题


  我的做法是diff一下uboot1.1.6与uboot2010的include/configs/smdk6410.h


  找到BOOTARGS,在uboot1.1.6中


#define CONFIG_BOOTARGS       'root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,115200'

  我将uboot2010中的同样参数替换成这个,然后重新编译一次uboot


  重新执行一次dnw, 终于成功运行了!


  下周继续进行kernel的移植。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>