![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
康米大侠
林花谢了春红,太匆匆,无奈朝来寒雨晚来风。。。。。。
展开
-
2021-11-03
命令行参数解析函数 —— getopt()getopt()函数声明如下:#include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg; extern int optind, opterr, optopt; 该函数的argc和argv参数通常直接从main()的参数直接传递而来。optstring是选项字母组原创 2021-11-05 17:35:36 · 74 阅读 · 0 评论 -
C/C++log日志库比较
C/C++log日志库比较 转至:https://blog.csdn.net/gatieme/article/details/506036822016年01月28日 23:21:24 JeanCheng 阅读数:29746版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme https://blog.csdn....转载 2019-01-02 22:38:09 · 4648 阅读 · 0 评论 -
嵌入式linux设备中应用运行日志的实现
嵌入式linux设备中应用运行日志的实现 最近在做一个项目时,需要记录设备运行中情况,以方便对故障进行跟踪定位,完善.所以决定采用记录程序运行日志,经过在网上搜索,采用Log4cplus+BOA方案,log4cplus记录日志,boa作为web服务器,通过网页的形式展示日志信息. 开发环境:嵌入式linux,C/C++,arm-fsl-linux-gnueabi-交叉编...原创 2019-01-06 11:52:10 · 2534 阅读 · 0 评论 -
linux SPI驱动——spidev之driver(六)
一: spidev_init注册spidev 1: static int __init spidev_init(void) 2: { 3: int status; 4: 5: /* Claim our 256 reserved device numbers. Then register a class 6: * that will...转载 2018-05-15 15:59:44 · 473 阅读 · 0 评论 -
linux SPI驱动——spidev之deive(五)
1.定义board设备1: struct spi_board_info { 2: /* the device name and module name are coupled, like platform_bus; 3: * "modalias" is normally the driver name. 4: * 5: * platform_data goes to spi_device.dev....转载 2018-05-15 15:59:00 · 979 阅读 · 0 评论 -
linux SPI驱动——spi core(四)
一:SPI核心,就是指/drivers/spi/目录下spi.c文件中提供给其他文件的函数,首先看下spi核心的初始化函数spi_init(void)。1: static int __init spi_init(void) 2: { 3: int status; 4: 5: buf = kmalloc(SPI_BUFSIZ, GFP_KERNEL); /* 初始化缓存 */ 6: if (!b...转载 2018-05-15 15:58:20 · 314 阅读 · 0 评论 -
linux SPI驱动——gpio模拟spi驱动(三)
一:首先在我的平台注册platform_device,保证能让spi-gpio.c能执行到probe函数。 1: struct spi_gpio_platform_data { 2: unsigned sck; 3: unsigned mosi; 4: unsigned miso; 5: 6: u16 ...转载 2018-05-15 15:57:31 · 1905 阅读 · 0 评论 -
linux SPI驱动——简单的gpio模拟SPI驱动测试 (二)
1: /* 2: * Add by xuyonghong for duotin car radio fm 3: * Copyright (C) 2016-5-24 xuyonghong@duotin.com ...转载 2018-05-15 15:56:43 · 1492 阅读 · 0 评论 -
linux SPI驱动——spi协议(一)
一:SPI简介以及应用 SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控制器(PICmicro) 上面的微处理控制单元 (MCU) 上叫作同步串行端口(Synchronous Serial Port) 的模块(Module)来实现的, 它允许 MC...转载 2018-05-15 15:55:02 · 439 阅读 · 0 评论 -
io端口与io内存详解
(一)地址的概念1)物理地址:CPU地址总线传来的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上(如显存、BIOS等)。在程序指令中的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放到CPU的地址线上。物理地址空间,一部分给物理RAM(内存)用,一部分给总线用,这是由硬件设计来决定的,因此在32bits地址线的x86处理器中...转载 2018-03-02 14:29:43 · 3643 阅读 · 0 评论 -
嵌入式Linux下设备热插拔检测机制
转载至CSDN;Breathomnudevmonitor 的原理也是捕捉 netlink 的 socket 消息,这个消息是内核发出的,打印出来的消息跟我上面的小程序一样,2.6内核支持udev,udev是在用户空间实现的程序,在终端输入 udevmonitor(有的版本或许是 udevadm -monitor) 然后插拔 USB 设备,可以看到提示信息。转载至CSDN;erigido转载 2017-09-21 09:05:35 · 1991 阅读 · 0 评论 -
Segmentation fault到底是何方妖孽
Segmentation fault到底是何方妖孽2013-10-23 23:13:41 分类: LINUX 前两天和阿彬扯淡的时候(注意不是扯蛋),他说自己一个礼拜解决了三个Core dump,华丽丽之极,让我对其敬仰、膜拜之情如滔滔之江水,绵绵不绝。今天我也来谈一下Linux环境下开发时经常遇到的“Segmetation fault”的一点点个人看法,也算是抛砖引转载 2017-09-06 14:44:33 · 6170 阅读 · 1 评论 -
值得学习的C/C++语言开源项目
值得学习的C/C++语言开源项目(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html(2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http://think-async.com/转载 2017-07-28 22:36:44 · 959 阅读 · 1 评论 -
Linux下的CGI和BOA使用期间遇到的问题汇总
(笔记)Linux下的CGI和BOA使用期间遇到的问题汇总前段时间在做C/S模式下的视频监控,这段时间是B/S模式下的。期间遇到了不少问题,有些问题一卡就是几天,有些问题的解决办法在办法在网上也不是很好找,所以还有些问题虽然得到了临时解决,但是其原理现在我本人也还搞的不是很清楚,在这里也希望有大家的指点交流。现在我就将这些错误稍作总结,可供大家学习借鉴,同时也希望得到大家的指点指正。转载 2015-09-21 10:29:51 · 1078 阅读 · 2 评论 -
Segmentation Fault in Linux 原因与避免
非原创,转载于:http://www.cnblogs.com/no7dw/archive/2013/02/20/2918372.html原作者( ZX_WING(xing5820@163.com)写得很好,加上之前的确遇到过很多信号问题,产生了很多疑问,原创的两张图失效了,转贴补充之。1.什么是“Segmentation fault in Linux”? 我们引用wiki转载 2015-07-09 15:12:40 · 556 阅读 · 0 评论 -
编译器分配内存的问题,内存对齐
下面这例子:struct inner{char c1;double d;char c2;};这个结构体是8字节对齐,编译器知道是8字节对齐所以给c1分配8个字节,到了d依然是8个字节,到了c2也是8个字节,因此结构体inner占24个字节。而不是16个字节。但是:struct inner2{char c1;char c2;double d;}原创 2013-12-31 14:50:52 · 815 阅读 · 0 评论 -
编译器与字节对齐
编译器版本gcc 4.1.2VC 6.0上次研究了结构体和字节对齐的问题,不过有个复合结构体有点奇怪。#pragma pack(8)struct S1{short a; // 2 bytelong b; // 4 byte};struct S2{char c; //1 bytestruct S1 d; //8 bytelong long转载 2013-12-31 14:52:17 · 1053 阅读 · 0 评论 -
#Pragma 指令
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的转载 2013-12-31 14:56:06 · 385 阅读 · 0 评论