嵌入式Linux中文站

Embeded linux之cifs文件系统

阅读(90)

一、背景: CIFS - Common Internet File System,通用internet文件系统。 CIFS 是微软提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。 CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。 CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。 SMB协议现在是局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协

Embeded linux之reboot

阅读(175)

reboot命令 //kernel\sys.c magic1、magic2,两个int类型的魔力数,用于防止误操作。具体在include/uapi/linux/reboot.h中定义。 cmd,reboot方式。 //include\linux\reboot.h #define LINUX_REBOOT_CMD_RESTART 0x01234567 #define LINUX_REBOOT_CMD_HALT 0xCDEF0123 #define LINUX_REBOOT_CMD_CAD_ON 0x89AB

ffmpeg之YUYV转RGB ARM使用流程分析

阅读(146)

本例基于3.2.2ffmpeg 一、应用调用API 二、头文件包含的API接口 对应于libswscale.so、libswscale.so.4、libswscale.so.4.2.100中 swscale之所以这么多,其实实际都在libswscale.so.4.2.100中,另外两个是链接,可使用ls -l查看 对应于源码libswscale/utils.c yuv2rgb_c_24_bgr函数解析见上篇解析,yuv2rgb_c_24_bgr最后解析为解码函数,最后赋值给SwsContextc-swsc

uboot之at91sam9g45移植

阅读(143)

一、第一阶段,无修改 二、第二阶段 u-boot-1.3.4\lib_arm\board.c 1.增加头文件 2.增加版本号 3.start_armboot中初始化部分 板级初始化部分init_sequence-board_init 3.1创建新单板资源头文件include\asm-arm\arch-at91sam9\at91sam9m10g45ek.h(地址与中断号) 文件书写思路: 1.参考同系列芯片的at91sam9263.h文件 2.外设标识符 3.用户外围物理基地址 4.系统外设物理基地址(基于

linux之mknod

阅读(124)

一、源码分析: mknod-系统调用- /fs/namei.c SYSCALL_DEFINE3( mknod , const char __user *, filename, int, mode, unsigned, dev) { return sys_mknodat (AT_FDCWD, filename, mode, dev); } SYSCALL_DEFINE4( mknodat , int, dfd, const char __user *, filename, int, mode, unsign

C之变量初始化的重要性

阅读(125)

#include stdio.h int add_range(int low, int high) { int i, sum; for (i = low; i = high; i++) sum = sum + i; return sum; } int main(void) { int result[100]; result[0] = add_range(1, 10); result[1] = add_range(1, 100); printf(result[0]=%d\nresult[1]=%d\n, r

linux之应用调试方法

阅读(98)

DDD: apt-get install ddd ddd --debugger arm-linux-gdb AppName printk: 修改打印等级: 原值: 从左至右分别为控制台(串口/ssh/telnet)日志级别、默认消息(printk(...);)日志级别、最低控制台日志级别、默认控制台日志级别 修改方法: echo 4 4 1 7 /proc/sys/kernel/printk 内核源码中打印等级相关代码

Uboot之net

阅读(99)

//net读 //api/api.c static cfp_t calls_table[API_MAXCALL] = { NULL, }; void api_init(void) { ... calls_table[API_RSVD] = NULL; calls_table[API_GETC] = API_getc; calls_table[API_PUTC] = API_putc; calls_table[API_TSTC] = API_tstc; calls_table[API_PUTS] = API