<![CDATA[蜗窝科技]]> http://hnrongyi.com/ zh-cn www.emlog.net 通过点亮LED的方法调试嵌入式代码 http://hnrongyi.com/soft/debug_using_led.html 1分pk10 在软件开发的过程中,debug(调试)是一个很重要的事情,因为没有百分之百正确的代码,一旦结果不符合预期,我们需要知道问题出在哪里了。

在PC环境下开发应用程序,我们不需要太操心,因为有各式各样的模拟器、调试器可供使用,我们可以追踪到每一行代码的执行过程和执行结果,找出问题只是时间问题而已。但在嵌入式环境下,就有些麻烦了,能用的手段,无外乎两种:

1)使用硬件仿真器定位问题。

2)使用日志输出定位问题。

对嵌入式工程师(特别是linux工程师)而言,鉴于使用硬件仿真器的诸多不便(成本高,无法保证人手一个;硬件连接复杂,需要预留特定接口;使用不方便;等等),日志输出几乎成为必备且唯一的debug手段。但是,总会有例外:

系统刚刚启动,在日志输出的通道(通常是UART接口)ready之前,怎么debug?

在不得不使用仿真器之前,我们还有一个简单的方法,就是点LED灯,本文将结合“X Project”“【任务2】启动到u-boot command line1分pk10”实现的过程,对这个方法进行简单的介绍和总结。

阅读全文>>]]>
Sun, 12 Jun 2016 14:10:43 +0000 wowo http://hnrongyi.com/soft/debug_using_led.html
Linux下“用户空间修改设备寄存器或者物理内存”的实现 http://hnrongyi.com/soft/186.html 底层开发过程中,经常需要在终端查看或者修改设备寄存器的值,busybox有一个工具----devmem,可用于读取或者修改物理寄存器的值,非常方便。

但它有一个不足的地方:不能连续操作物理内存(虽然这很危险,但在显示相关的调试中,如果能向指定的物理内存加载一个图片,或者dump指定物理内存的内容,还是很方便的),因此我重新写了一些代码,实现如下功能。

阅读全文>>]]>
Fri, 15 May 2015 03:21:24 +0000 wowo http://hnrongyi.com/soft/186.html
在PowerShell中使用Vim http://hnrongyi.com/soft/vim_in_powershell.html 闲来无事,买了一个Win8系统的小平板,带键盘,准备打造成专门用来写博客的工具(本文就是用它写的第一篇)。捣鼓一圈之后,首先要解决的是用什么看代码。在PC时代,习惯了Linux命令行的方式,一般都是Windows系统+VMWare虚拟机+Linux系统+Vim+SecureCRT,但是这个庞大配置,显然不适合小平板。于是蜗蜗就打起PowerShell的主意了。

蜗蜗想要的无非就是一个命令行的环境,加上Vim工具。而微软在WIN7、WIN8时,就在系统中集成了一个Shell工具----PowerShell,这个工具虽然没有Linux系统的Shell强大,但相比Windows的Command Line,还是强大不少。那是否可以利用它呢?答案是肯定的。

阅读全文>>]]>
Wed, 18 Jun 2014 03:41:24 +0000 wowo http://hnrongyi.com/soft/vim_in_powershell.html
小printf大作用(用日志打印的方式调试程序) http://hnrongyi.com/soft/7.html       一般来说,初学编程者所写的第一个程序,就是使用printf打印“Hello world”。其实printf的功效远不只这些,在程序调试方面,printf也有非常大的用处。 

      “蜗蜗”在接触Linux driver开发之前,学习过桌面程序开发(如Turbo C、Visual C等),也从事了一段时间的嵌入式软件开发。这些开发有一个共同点,对调试工具非常依赖,如桌面程序的Debugger(调试器)、嵌入式开发的仿真器(JTAG等)。还依稀记得,刚工作时,为了插空使用仿真器,不得不趁周末别人不工作时加班使用。直到后来从事Linux driver开发、见识到了printk的魅力之后,多年来,就再也没有使用过仿真器或者调试器了。 

      下面我就总结一下使用日志打印辅助debug的心得。

阅读全文>>]]>
Thu, 23 Jan 2014 12:52:34 +0000 wowo http://hnrongyi.com/soft/7.html
Windows系统结合MinGW搭建软件开发环境 http://hnrongyi.com/soft/6.html       MinGW,即Minimalist GNU For Windows,它包含了的运行环境、GCC编译器工具集以及其它的GNU程序开发工具(如makegawkgrep等等)。借用MinGW,可以在Windows操作系统上,使用强大的、丰富多彩的开源工具进行软件开发,例如vim、gcc、python等等。 阅读全文>>]]> Wed, 22 Jan 2014 04:16:01 +0000 wowo http://hnrongyi.com/soft/6.html