今天想使用printf()函数在串口上每秒输出一个‘C’字符,实现在串口上显示如CCCCCC的提示信息,但直接使用printf(“C”);语句时,要么不输出,要么一下子输出很多CCCCC。

而使用printf(“C\n”);语句时则可正常输出显示,但这不是我要的输出格式。

事实上这个问题涉及到printf()输出缓冲的问题。

对于标准输出设备stdout,输出一般都有缓冲,当遇到刷新标志或缓冲满时才把缓冲的数据输出到标准输出设备中。

对于printf()函数,其使用的输出设备就是标准输出设备stdout,且采用行缓冲式的输出,当printf()遇到\n时,或者缓冲区满时,才会将缓冲区里的内容刷新到标准输出(stdout)。 阅读全文 »

 


snmpwalk介绍及其用法一文中曾经介绍了关于net-snmp软件包中的snmpwalk程序的使用方法。snmpwalk实际上相当于个非常简单的网管程序,可以从snmp代理(snmp agent)中获取指定OID的信息。

在嵌入式领域,一般情况下,我们都是针对snmp代理开发,而基于SNMP协议的网管程序则交给PC端的软件开发工程师。但在net-snmp软件包的支持下,我们也可以实现像snmpwalk功能简单的snmp管理端功能程序。

本文即介绍了一个简单的SNMP管理功能程序,源代码如下: 阅读全文 »

 


嵌入式系统中,存储空间、内存等资源相对较敏感。如何高效的利用有限的系统资源,一直是嵌入式系统设计的重点。在嵌入式linux系统的远程固件(程序)升级功能上尤为突出。如果固件升级包太大,对内存和flash都会带来压力。因此,必须尽量减小固件升级包的大小。

在这个问题上,7z压缩格式为我们带来了福音。相比.tar、.tar.gz、.tar.bz2等压缩格式,采用7z格式压缩的固件升级包明显较小。reille实现的固件升级功能中都采用这种格式制作固件升级包。

关于7z的介绍请参考:7z格式、LZMA压缩算法和7-Zip详细介绍

本文主要分享了移植7z命令到嵌入式linux系统的方法和经验。

阅读全文 »

 


今天第一次听说snmpwalk,因此,对它进行了整理。

本文介绍了snmpwalk,它的作用和它的用法。

什么是snmpwalk

snmpwalk是一个SNMP小程序,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。

以下是原英文解释: 阅读全文 »

 


摘要:在(嵌入式)linux软件开发中,经常要用到linux shell编写一些脚本,或用来代替一些重复的手工操作,或用来实现某种功能(如启动初始化脚本等),甚至实现一些复杂的功能。实际上,在linux中本身就存着很多的脚本文件。因此,从某种意义上来说,进行嵌入式linux开发,或多或少需要知道一些shell编程知识。

本文总结了应用linux shell编写脚本时常用到的一些基本技术:判断文件是否存在;判断变量是否有值或是否相等;shell中实现睡眠命令;统计行数。

阅读全文 »

 


作者:reille

首发博客网址:http://blog.csdn.net/reille/,转载本博客原创文章请注明出处:http://velep.com/archives/80

本文内容概要: 代码中特殊的注释技术——TODO、FIXME和XXX的用处。

阅读全文 »

© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量