如何去掉ARM-LINUX启动时输出到串口的调试信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何去掉ARM-LINUX启动时输出到串口的调试信息相关的知识,希望对你有一定的参考价值。
启动时的内核信息都是通过printk输出的,查了下头文件kernel.h,有这样的语句#ifdef CONFIG_PRINTK
asmlinkage int printk(const char * fmt, ...)
__attribute__ ((format (printf, 1, 2)));
#else
static inline int printk(const char *s, ...)
__attribute__ ((format (printf, 1, 2)));
static inline int printk(const char *s, ...) return 0;
#endif
在kernel/printk.c中,同样可以看到在没有定义CONFIG_PRINTK的时候其代码都是灰的。
因此,去掉CONFIG_PRINTK的定义即可。 参考技术A 关注这个问题
使用VS2012编写arm-linux上的应用程序
习惯了window上的集成开发环境,对于Linux上的C/C++开发觉得相当蛋疼。
可能大佬们会批,Linux有vim如何强大的工具,可惜真用不来,萝卜青菜吧。
刚接触Linux时,觉得应用程序的调试,相当不顺,用的是 gdb+printf ,如果能学会用gdb来调试Linux上的应用,相当有逼格;就是需要记的指令不少。
对于我这种刚入坑不深的,便琢磨着是否Linux上也有像window上的IDE,编译调试代码方便,又能支持远程调试arm板的。
百度了一把,eclipse、qt creater可以,之前做过DSP开发,用的是CCS;eclipse、ccs同一路,便选择了eclipse,省点再去熟悉一个集成开发环境的时间。
用了一段时间后,eclipse CDT的代码自动补全功能相当糟糕,只支持 \'.\'、‘->’的自动提示,用起来觉得效率不高;
干脆window上开发,然后Linux上编译。原打算用 source insight ,可惜不支持UTF-8,有插件可安装,但有一些BUG,便选择了VS。
1.首先建立共享目录
选择的是Samba,也可以安装vm tool,设置共享文件夹,看个人喜好。
ps: Samba的搭建可以参照笔者的前面博客,也相当简单。
2.使用VS新建空项目
2.1 根据eclipse工程框架,新建文件筛选器
VS项目 -> 右键 -> 添加 -> 新建筛选器(F)
2.2 为新建筛选器添加目标文件
新建的筛选器 -> 右键 -> 添加 ->现有项(G)-> 选择目标文件
至此,就可以在window上写代码,Linux上做编译了。
以上是关于如何去掉ARM-LINUX启动时输出到串口的调试信息的主要内容,如果未能解决你的问题,请参考以下文章