通过点亮LED的方法调试嵌入式代码

作者:wowo 发布于:2016-6-12 22:10 分类:软件开发

在软件开发的过程中,debug(调试)是一个很重要的事情,因为没有百分之百正确的代码,一旦结果不符合预期,我们需要知道问题出在哪里了。

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

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

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

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

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

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

阅读全文>>

标签: debug LED

评论(5) 浏览(1936)

Linux下“用户空间修改设备寄存器或者物理内存”的实现

作者:wowo 发布于:2015-5-15 11:21 分类:软件开发

底层开发过程中,经常需要在终端查看或者修改设备寄存器的值,busybox有一个工具----devmem,可用于读取或者修改物理寄存器的值,非常方便。

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

阅读全文>>

标签: devmem

评论(20) 浏览(5830)

在PowerShell中使用Vim

作者:wowo 发布于:2014-6-18 11:41 分类:软件开发

闲来无事,买了一个Win8系统的小平板,带键盘,准备打造成专门用来写博客的工具(本文就是用它写的第一篇)。捣鼓一圈之后,首先要解决的是用什么看代码。在PC时代,习惯了Linux命令行的方式,一般都是Windows系统+VMWare虚拟机+Linux系统+Vim+SecureCRT,但是这个庞大配置,显然不适合小平板。于是蜗蜗就打起PowerShell的主意了。

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

阅读全文>>

标签: vim win8 powershell

评论(6) 浏览(13384)

小printf大作用(用日志打印的方式调试程序)

作者:wowo 发布于:2014-1-23 20:52 分类:软件开发

      一般来说,初学编程者所写的第一个程序,就是使用printf打印“Hello world”。其实printf的功效远不只这些,在程序调试方面,printf也有非常大的用处。 

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

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

阅读全文>>

标签: 日志 打印 printf debug 调试

评论(6) 浏览(9006)

Windows系统结合MinGW搭建软件开发环境

作者:wowo 发布于:2014-1-22 12:16 分类:软件开发

      MinGW,即Minimalist GNU For Windows,它包含了GNU工具集的运行环境、GCC编译器工具集以及其它的GNU程序开发工具(如makegawkgrep等等)。借用MinGW,可以在Windows操作系统上,使用强大的、丰富多彩的开源工具进行软件开发,例如vim、gcc、python等等。

阅读全文>>

标签: MinGW GNU Linux 开发环境

评论(0) 浏览(14888)

“蜗窝”使用的软件开发环境介绍

作者:wowo 发布于:2014-1-21 14:34 分类:软件开发

      “蜗窝”中的很多文章,会涉及软件开发的内容,包括嵌入式、ARMC语言、LinuxDSP等议题。为了方便大家的测试、学习、使用,我们会尽可能的提供所有软件的source code。而软件开发是非常依赖开发环境的,因而有必要事先交代“蜗窝”所使用的开发环境,以此达到2个目的:

      1. 让“蜗窝”中所有的蜗牛们,使用相同的开发环境,以便互相交流、互相帮助。

      2. “蜗窝”的创立者,有着多年的Linux开发经验,非常熟悉开源软件及相关的开发环境,也非常推崇它们的思想和理念。因而可以借助开发环境的准备,和蜗牛们分享这些经验。

阅读全文>>

标签: 蜗窝 软件开发

评论(3) 浏览(4984)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog