摘要:
1 I.MX6Q的SPI适配器驱动(3.0.35版本内核) 2 文件路径:Kernel/linux_IMX6_CoreC_3.0.35_for_Linux/drivers/spi/spi_imx.c 3 一、控制器驱动 4 入口函数:spi_imx_init() 5 static int __ini 阅读全文
摘要:
本文章转自https://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html 下面来对start.S进行详细分析,看看每一个部分,是如何实现的。 1.1. 设置C 阅读全文
摘要:
1 I.X6Q的I2C适配器驱动(3.0.35版本内核) 2 入口函数(可以预知I2C总线内部也是platform总线) 3 static int __init i2c_adap_imx_init(void) 4 { 5 return platform_driver_probe(&i2c_imx_d 阅读全文
摘要:
1 一.I.MX6 UART驱动 2 文件路径:\linux_IMX6_CoreC_3.0.35_for_Linux\drivers\tty\serial\imx.c 3 1.驱动入口函数:imx_serial_init() 4 1.1 static int __init imx_serial_in 阅读全文
摘要:
零长数组一般被放置在一个结构体的末尾,作为扩展内存大小的占位符而存在的,这是数组唯一可以“越界”访问的场合 。 用在封装数据包的场合(因为数据包大小是不确定的) 在不同的客户机之间发送一些信息,这些信息包括一些固定长度的数据,比如客户机的 IP 地址、主机名等,还包含一些长度不确定的数据,比如用户自 阅读全文
摘要:
#include <stdio.h> int main(int argc, char *argv[]){ int a[3] = {100, 200, 300}; //int *p; int (*p)[3]; //p = a + 1;//输出结果是2 //p = &a + 1;//输出一个无效的数 / 阅读全文
摘要:
#include <stdio.h> #define INS_HEADER1 0x55 //标准帧头1#define INS_HEADER2 0xAA //标准帧头2 //规定了数据帧当中的固定成员,其余数据成员由单元实现的功能决定//这里的公用的数据成员必须添加typedef struct INS 阅读全文
摘要:
Linux vim设置 阅读全文
摘要:
1 #include 2 #include 3 /* 4 1.以字符串作为参数 5 2.找出ASCII在1~127范围内的字符 6 3.去掉重复字符 7 */ 8 9 int GetString(char *str); 10 11 int main(int argc, char *argv[]) 12 { 13 char ch[] = "abcd1231231... 阅读全文
摘要:
文章转自开源电子论坛:http://www.openedv.com/forum.php?mod=viewthread&tid=7986 看一些程序的时候老是有 “#ifdef __cplusplus extern "C" { #endif”的定义,搞搞清楚是怎么回事: Microsoft-Speci 阅读全文