有关调试的一些技巧总结
2013-03-22 22:16
323 查看
调试占据着研发全过程的很大比重,我在调试uboot时,花了好久好久。
以一个具体的例子,我想让我的uboot从nandflash启动,因为J-link不能直接将u-boot.bin文件直接烧录到nandflash中,必须在通过nandflash控制寄存器来对nandflash操作,我的uboot中就有nand erase和nand write等功能。如果我每次将uboot烧录到nandflash时都去摆弄跳线帽,开关电源,那多麻烦和危险呐。
前提条件如下:
1、tftp服务器,这个可以自己搭建网上有关搭建tftp服务器的方法很多。可以参考一下;
2、有AUTOHOTKEY。
过程如下:
1、
2、
再按一下Ctrl + 3就能将上面的内容打到J-Link Commander上面如图:
上面的过程是先将bootstrap-s3c2440.bin这个初始化SDRAM的代码放到steppingstone这4K的SRAM中,然后将u-boot-fulinux.bin下载到SDRAM的0x33f80000地址处并且设置ARM的PC寄存器,让ARM跳转到0x33f80000这个地方运行。需要这样步是因为我没需要借助它自身将u-boot-fulinux.bin考到nandflash中去。
u-boot-fulinux.bin可以在这里下载:
http://download.csdn.net/detail/sonbai/5169563
3、
第一个是按Alt + 1就能将
发送到uboot的终端上如图
一键式搞定,过程是这样的将ip是192.168.1.78这个tftp服务器指定文件夹中的u-boot-fulinux.bin下载到SDRAM的30008000地址处过地址处放着u-boot本身,tftp传输端也就是在0x33f80000地址往上的uboot来完成的,nand erase是先擦除nandflash上的内容,nand write 是将SDRAM上的30008000起始地址处的u-boot-fulinux.bin下载到nandflash起始地址0处,大小是0x40000。显示OK后,键入reset
,复位cpu这时候就是从nandflash启动,跳线帽是设置在nandflash启动的。
4、
如果 reset后uboot没有达到预期的目标,我们修改源码,然后make,编译过程足够你重复上面过程,将可以在SDRAM和NORflash中运行但是不能在nandflash中运行的(这也是初衷)u-boot-fulinux.bin下到SDRAM的0x33f80000中了
以一个具体的例子,我想让我的uboot从nandflash启动,因为J-link不能直接将u-boot.bin文件直接烧录到nandflash中,必须在通过nandflash控制寄存器来对nandflash操作,我的uboot中就有nand erase和nand write等功能。如果我每次将uboot烧录到nandflash时都去摆弄跳线帽,开关电源,那多麻烦和危险呐。
前提条件如下:
1、tftp服务器,这个可以自己搭建网上有关搭建tftp服务器的方法很多。可以参考一下;
2、有AUTOHOTKEY。
过程如下:
1、
;------------------------------------------------------------ ; Green Program mapped by "ALT" key ;------------------------------------------------------------ !j:: Run C:\Program Files\SEGGER\JLinkARM_V410i\JLink.exe return按一下Alt + j 就能打开打开J-Link Commander,如下图
2、
^3:: send h{enter} send speed 12000{enter} send loadbin D:\project\bootstrap-s3c2440.bin 0{enter} send setpc 0{enter} send g{enter} sleep 100 send loadbin D:\project\u-boot-fulinux.bin 0x33f80000{enter} send setpc 0x33f80000{enter} send g{enter} return
再按一下Ctrl + 3就能将上面的内容打到J-Link Commander上面如图:
上面的过程是先将bootstrap-s3c2440.bin这个初始化SDRAM的代码放到steppingstone这4K的SRAM中,然后将u-boot-fulinux.bin下载到SDRAM的0x33f80000地址处并且设置ARM的PC寄存器,让ARM跳转到0x33f80000这个地方运行。需要这样步是因为我没需要借助它自身将u-boot-fulinux.bin考到nandflash中去。
u-boot-fulinux.bin可以在这里下载:
http://download.csdn.net/detail/sonbai/5169563
3、
!1:: send tftp 30008000 u-boot-fulinux.bin;nand erase 0 40000;nand write 30008000 0 40000{enter} return
第一个是按Alt + 1就能将
tftp 30008000 u-boot-fulinux.bin;nand erase 0 40000;nand write 30008000 0 40000{enter}
发送到uboot的终端上如图
一键式搞定,过程是这样的将ip是192.168.1.78这个tftp服务器指定文件夹中的u-boot-fulinux.bin下载到SDRAM的30008000地址处过地址处放着u-boot本身,tftp传输端也就是在0x33f80000地址往上的uboot来完成的,nand erase是先擦除nandflash上的内容,nand write 是将SDRAM上的30008000起始地址处的u-boot-fulinux.bin下载到nandflash起始地址0处,大小是0x40000。显示OK后,键入reset
,复位cpu这时候就是从nandflash启动,跳线帽是设置在nandflash启动的。
4、
如果 reset后uboot没有达到预期的目标,我们修改源码,然后make,编译过程足够你重复上面过程,将可以在SDRAM和NORflash中运行但是不能在nandflash中运行的(这也是初衷)u-boot-fulinux.bin下到SDRAM的0x33f80000中了
相关文章推荐
- 有关U-Boot调试的一些技巧总结
- 有关Android的调试时候常用到的一些技巧
- 最近工作中总结的一些调试技巧
- iOS 有关应用真机调试和打包上传到App Store的一些总结以及对证书、App Ids、和描述文件(Certificates, Provisioning Profiles)的一些总结
- 分享总结10天来学习HTML DIV+CSS标准网页布局一些技巧
- 数据库Update操作的一些技巧总结
- 自己总结的有关Oracle用户权限的一些基本命令
- 一些VC的快捷键以及调试方法技巧
- Xcode开发调试技巧总结
- 【Visual C++】一些开发心得与调试技巧
- <ZT>ParseCommandLine 有关命令行启动参数的一些技巧
- android gcc一些调试技巧
- 详解Intellij IDEA 2017 debug断点调试技巧(总结)
- iOS崩溃调试的使用和技巧总结
- Python爬虫:一些常用的爬虫技巧总结
- XCode的一些调试技巧
- 用python爬虫抓站的一些技巧总结 zz
- 一些好的开发辅助工具以及调试技巧
- 经常出现的错误和经验总结和一些技巧不定期更新
- 有关前端代码的一些总结