嵌入式Linux
Chris_Tsai
这个作者很懒,什么都没留下…
展开
-
使用QtCreator作为嵌入式Linux的IDE及可视化调试工具
使用QtCreator作为嵌入式Linux的IDE及可视化调试工具开发嵌入式Linux程序的朋友们都有一个感触,那就是Linux太自由了,自由到没有一个大家都用的工具来开发程序,有人喜欢用Vim,有人喜欢用Emacs,有人用原生的gdb调试,有人用可视化的insight。于是就羡慕iOS和Android开发者们,他们有苹果和Google官方开发的XCode和AndroidStudio,几乎做到傻瓜化原创 2016-08-31 23:00:07 · 3353 阅读 · 1 评论 -
使用cmake在openwrt中添加工程
1.为什么要使用cmake此前,笔者的公司之前linux下的工程,很多是使用scons工具进行编译,其优点是编译脚本是使用python编写语法简单,缺点也很多,一是无法像make一样多线程编译(笔者未找到相应方法,如果有,请赐教),二是像无法添加到openwrt工程中;使用cmake的好处很多,其CMakeLists.txt文件编写也很简单,支持make -j多线程编译,也可以将自己的工程添加到o...原创 2018-03-26 23:05:25 · 4657 阅读 · 1 评论 -
C语言:在main函数之前和之后执行函数
前段时间,需要写个简单的用C语言实现的轻量级httpd服务,想实现在添加api的时候,只要在Makefile中添加对应的api C文件,就能做到将此api加入到api列表以提供响应的功能,类似于linux的驱动程序编写,在编写驱动的时候,只要编译我们写的C程序,即可把驱动加入到内核中。主要是要实现简单的类似于module_init和module_exit宏,在api C文件的最后加入这两个宏,实现...原创 2018-06-30 19:19:25 · 1384 阅读 · 0 评论 -
uboot中添加USB固件恢复功能
uboot中添加USB固件恢复功能一、前言:在嵌入式Linux设备中,一般都有固件升级功能。一般在flash比较大的设备中,会有AB分区,在升级时,将固件写入至B分区,在uboot启动时可根据标志位选择A或B分区作为启动分区。这样便可做到安全升级:即使固件写入到B分区时断电或意外重启,标志位未被写入,下次启动时依然从A分区启动。 而在某些嵌入式环境中,flash过小(如常见的汇邦16...原创 2018-08-24 00:52:49 · 720 阅读 · 0 评论 -
使用iptables将包含某字符串的域名解析请求重定向至指定dns服务器
使用iptables将包含某字符串的域名解析请求重定向至指定dns服务器在开发路由器的时候,有个需求,是要求将xxx.com域名解析为路由器的本地ip。类似于在极路由下的电脑解析hiwifi.com,会指向极路由的192.168.199.1。 起初想的很简单,直接改/etc/hosts文件,增加一个hosts就好了,或者在/etc/dnsmasq.conf里增加一条也行。但当路由器下的主机自...原创 2018-09-02 23:52:59 · 6305 阅读 · 3 评论 -
嵌入式linux增加ZRAM支持
Linux内核ZRAM概念在使用嵌入式Linux的时候,经常遇到以下尴尬:为了节约成本,DDR通常比较小,比如128M、256M等等,然而现在的应用程序越做越大,偶尔会遇到OOM,导致进程被杀。如果是在PC版的Linux上,经常可以通过交换分区的方式来解决内存不够的问题,但嵌入式Linux时常使用Nand Flash甚至SPI Flash,根本无法作交换分区,所以嵌入式Linux时常会关闭交换...原创 2018-09-10 23:11:39 · 1360 阅读 · 0 评论 -
关于Linux的内存之我的总结
关于Linux的内存之我的总结说来惭愧,作为一名Linux应用层软件开发人员,应当对Linux的分配、布局等方式了然于胸,而我索然在之前有所了解,但总觉得是云里雾里的,没有真正搞清楚。现在也算是一个总结吧,可能还会有错误,后续把《深入理解Linux内核》这本书学习后,再来修改。1、应用程序的内存布局大家都知道,一个Linux的应用程序,拥有代码段(.text段)、数据段(.data段)、BS...原创 2018-09-20 00:13:14 · 268 阅读 · 0 评论