点滴路程

在成功的路上,留下我们坚实的痕迹

嵌入式是什么?为什么引入嵌入式技术?嵌入式技术的优缺点?

嵌入式按照通俗的话来说,就是在已有的硬件上移植操作系统。这样的解释大家可能不太明白,那我换一个角度解释。单片机大家应该都知道吧,单片机的工作模式是利用软件编程控制硬件,实现一些功能。嵌入式是在软件与硬件之间加入一个操作系统。两者的区别如图所示:  单片机:

2016-04-18 20:03:28

阅读数 2582

评论数 4

arm(linux)下非对齐地址访问的问题

背景 就在这周,我在写串口命令的时候,遇到了一个很奇怪的现象,百思不得其解,刚开始以为是自己粗心,对于地址的偏移计算错误,但是经过自己长时间排查,甚至向同事请教,让他们帮我看一下代码逻辑,都没有发现什么异常。一度让我怀疑人生。后面经过我仔细的摸索,终于找出了其中的原因,有种恍然大明白的感觉。所以在...

2019-04-22 00:05:34

阅读数 32

评论数 1

整型提升

一:整型提升 下面程序的结果是多少? #include<stdio.h> int main() { unsigned char a = 0xA5; unsigned char b = ~a>>4+1; printf("b...

2019-04-19 17:26:01

阅读数 28

评论数 0

复合数据类型

这章内容主要是结构体,共用体,枚举类型,注意了解和掌握。 1.关键字的拼写 结构体 关键字 struct 共用体 关键字 union 枚举型 关键字 enum 类型别名 关键字 typedef 2.会定义结构体,定义结构体变量并初始化,定义结构体指...

2019-04-19 17:06:37

阅读数 22

评论数 0

linux根目录下各子目录的作用

前段时间老师给我们布置了一道题,写出linux根目录各子目录的作用。我查了一晚上的资料,结果都不全,让我在各个网站,博客寻找了好久。终于让我完整的找到了。现在就向大家分享我的资源(为了找齐,花费了宝宝好长间,喜欢的就点下赞哦,您的认同是我前进最大的动力)首先我们要知道根 目录下有多少子目录,分别是...

2019-04-19 16:54:59

阅读数 25

评论数 0

实现自己的字符串函数

实现自己的字符串函数 因为在面试的时候,很多公司是不允许使用C语言里的库函数的,这就要求我们要自己实现一些函数功能。在这里,我向大家分享一下我写的关于字符串的函数。虽然简单,却很实用。 my_strcmp(strcmp); int my_strcmp(char *dest ,char *src)...

2019-04-19 16:47:14

阅读数 19

评论数 0

如何优化摄像头预览效果

背景 由于在某监控安防厂工作,前段时间遇到了一个设备性能问题,就是设备6路预览时,画面卡顿不连贯,体验极差。领导让我解决这个问题。经过几天的学习和探讨,问题是解决了。其实涉及到的知识点不多,关键是思路和方法。在此进行分享,希望对遇到类似问题的朋友有所帮助。 分析原因 首先,给我们直观的感受是画面卡...

2019-04-13 10:37:02

阅读数 24

评论数 0

线程创建属性设置

背景 上周在处理一个问题,涉及到了线程调度策略的问题。因为我们要求线程的属性默认为实时策略(SCHED_RR),但是通过proc文件系统查看,实际生效的是分时调度策略(SCHED_OTHER)。通过分析,发现是由于创建线程是设置的参数并不正确,导致的问题。也顺便复习和了解了一下线程创建属性的知识点...

2019-03-28 23:10:32

阅读数 22

评论数 0

线程死锁的原理及解决方式

转至:https://blog.csdn.net/ls5718/article/details/51896159 一、死锁的定义 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),...

2018-05-24 16:11:34

阅读数 4609

评论数 0

虚拟地址与物理地址的区别

4. MMU 请点评 现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,本节简要介绍MMU的作用。 首先引入两个概念,虚拟地址和物理地址。如果处理器没有...

2018-05-23 18:58:00

阅读数 3436

评论数 0

gcc编译选项

转载:https://blog.csdn.net/liuchao1986105/article/details/6674822 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录任何的dos 命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc...

2018-05-22 09:18:30

阅读数 88

评论数 0

如何编译gdb源码

先看一篇转载的关于gdb和gdbserver的生成。 在对嵌入式进行调试之前,必须要生成调试器。经典地,Linux平台下的调试器为gdb。 1、下载gdb: 下载地址为: http://download.chinaunix.net/download.php?id=42975&amp...

2018-05-21 10:37:32

阅读数 2638

评论数 3

lua 如何支持多线程操作?

栈的理解 要向了解lua多线程,你就要知道栈的含义。这里我就直接摘录博客上的一些见解: 栈就是一段特殊内存,什么是栈呢?举个例子,一个只有上面打开的盒子,现在有三本书离散数学、c语言、汇编语言,需要将这三本书一本一本的放进去,先将离散数学放进去,然后c语言,接着汇编语言,现在又需要...

2018-05-18 11:46:11

阅读数 3863

评论数 0

获取在线用户的hostname,ip,操作系统,制造商

获取在线用户主机名,ip,操作系统,制造商   背景:最近在做和云AC对接的工作。需要把在线用户的一些信息给上传到服务器。关于,在线用户的无线速率,流量之类的东西可以在无线驱动中获取,通过ioctl可以获取相应的数据。但是关于在线用户的主机名,...

2018-05-18 11:43:45

阅读数 274

评论数 0

daemon和pthread_create之间的问题(线程阻塞)

背景 最近完成工具链和uClibc库升级的任务,升级之后出现了一个bug,就是大软件起来之后,原先ps能看到6个线程的进程,现在只能看到三个,导致出现了一些功能上的问题。 排查问题 有了问题,当然要处理啦。毕竟是自己埋下的坑,含着泪也要把它填起来。刚开始在代码里面加上打印,发现都没有显示...

2018-05-18 11:42:37

阅读数 258

评论数 0

linux 各个信号产生的原因

linux各个信号产生的原因 1.SIGHUP:当用户退出shell时,由该shell启动的所有进程将收到这个信号,默认动作为终止进程 2. SIGINT:当用户按下了Ctrl+C组合键时,用户终端向正在运行中的由该终端启动的程序发出此信号。默认动 作为终止里程。 3. SIGQUIT...

2018-05-18 10:21:09

阅读数 134

评论数 0

数据库锁住及 lua 处理方式

数据库锁住因为MQTT项目中的数据都是保存在数据中,因此就需要对数据库进行大量的写入操作。这就出现了一个问题: 当多个线程或进程对数据进行写操作时,那么就会造成操作失败。因为,数据库进行写操作时,会加上一个锁,防止别的操作进行修改。一般会返回一个错误码为5.通过网上的查询,解决方式很多,最简单的...

2017-10-31 15:14:58

阅读数 294

评论数 0

MQTTv3.1

最近因为工作需要,需要对推送消息了解,因此对MQTT进行了整理,这里更多的是对MQTT英文版的翻译和理解。   MQTT(Message Queue Telemetry Transport),遥测传输协议,提供订阅/发布模式,更为简约、轻量,易于使用,针对受限环境(带宽低、网络延迟...

2017-10-25 19:50:40

阅读数 201

评论数 0

ARP解析

前言:ARP协议的作用: 1. 什么是ARP?    ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。   2为什么要有ARP? ...

2017-10-19 15:40:40

阅读数 726

评论数 0

lua - UDP

UDP socket.udp() 创建并返回一个无连接的UDP对象。该无连接对象支持以下函数:sendto、receive、receivefrom、getsockname、setoption、settimeout、setpeername、setsockname、close。其中的set...

2017-10-13 15:17:38

阅读数 491

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭