
linux应用开发与busybox
lbaihao
zephyr,data structure, algorithm, protocol,darknet,architecture
展开
-
linux多线程经验(一)
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。本文中从 几 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。本文中主要涉及的题材包括线程开发中的线程管理,互斥变量,条件变量等。 Linux 上线程开发 API 说明 多线程开发在 Linux 平台上已经有成熟的 Pt转载 2015-07-17 23:40:02 · 453 阅读 · 0 评论 -
ARM Linux 交叉编译
编译选项-I //指定头文件的目录默认的头文件目录是工具链里的include目录原创 2016-11-15 23:05:33 · 3382 阅读 · 0 评论 -
busybox使用
1.busybox介绍busybox是什么? (1)busybox是Linux上的一个应用程序(application),即只有一个ELF文件头。(2)它整合了许多Linux上常用的工具和命令(utilities), 如rm, ls, gzip, tftp等。对于这些工具和命令,busybox中的实现可能不是最全的,但却是最常用的,因此它的特点就是短小精悍,特别原创 2015-07-09 09:18:53 · 1745 阅读 · 0 评论 -
busybox init进程分析
busybox-1.18.5 分析文件 init.cint init_main(int argc UNUSED_PARAM, char **argv){ //填充链表init_action_list parse_inittab(); 原型:new_init_action(uint8_t action_type, const char *command,原创 2016-08-18 10:21:12 · 421 阅读 · 0 评论 -
gdb调试多进程和多线程命令
1. 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。 follow-fork-mode detach-on-fork 说明parent原创 2016-07-27 13:53:34 · 1972 阅读 · 0 评论 -
Linux触摸屏驱动测试程序
触摸屏驱动测试由于mini2440的触摸屏驱动是基于input子系统的,而input子系统给用户层提供的是input_event结构体,我们主要是在应用层接收这个结构体,然后对其类型进行分类,取出我们需要的数值。struct input_event { struct timeval time; unsigned short type; //支持的类型,如EV_原创 2016-06-18 07:48:27 · 1588 阅读 · 0 评论 -
linux nor flash 读写
void reboot_efex(void){int flash_handle = 0;char command[32] = "efex";int len = 0;char buf[32] = "test";memset(command, 0x00, 32);memset(buf, 0x00, 32);strcpy(command,"efex");fl原创 2016-06-29 13:31:40 · 2925 阅读 · 0 评论 -
gdb调试当前运行的程序
为什么使用gdb调试正在运行的程序? 因为有时候bug很难复现、或者环境搭建起来比较困难,所以在出现bug的时候可以使用gdb的attach功能调试正在运行的GCC编译出来的程序,注意编译选项要加-g,否则没有符号表。调试步骤? 1. 编译时候带-g选项。 2. 运行程序。 3. ps找到进程号。 4.转载 2016-06-02 23:31:22 · 12594 阅读 · 0 评论 -
linux函数用法
1. strrchr函数简介 函数名称: strrchr函数原型:char *strrchr(const char *str, char c);所属库: string.h函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回这个位置的地址。如果未能找到指定字符,那么函数将返回NULL。相关函数: strc原创 2015-09-30 13:43:10 · 810 阅读 · 0 评论 -
Linux system函数返回值
例: status = system("./test.sh"); status = system("./test.sh");1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返转载 2015-09-01 18:38:51 · 630 阅读 · 0 评论 -
静态链接和动态链接
引言即使是最简单的HelloWorld的程序,它也要依赖于别人已经写好的成熟的软件库,这就是引出了一个问题,我们写的代码怎么和别人写的库集成在一起,也就是链接所要解决的问题。首先看HelloWorld这个例子:[cpp] view plain copy// main.c 1 #include 2转载 2016-11-13 14:05:57 · 382 阅读 · 0 评论