2019-08-18 19:35
⁄ 工业·编程
⁄ 共 5167字
以下介绍14种主流的RTOS,分别为μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,而国产的嵌入式操作系统包括都江堰操作系统(djyos)、Alios Things、Huawei LiteOS、RT-Thread、SylixOS。
1、μClinux
μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳...
嵌入式, 操作系统阅读全文
2019-08-17 07:06
⁄ 工业·编程
⁄ 共 4660字
嵌入式系统的应用与开发是当今计算机行业发展的一个热点。现今嵌入式软件的应用与开发的领域主要有:国防、通信、电子、办公自动化、机/车顶盒、掌上电脑(或PDA)、手机软件、工业控制、信息家电等领域。
随着嵌入式技术的发展,由于嵌入式应用不断增长、嵌入式系统复杂性不断提高,导致嵌入式软件的规模和复杂性也在相应的不断提高。目前嵌入式软件、硬件的应用与开发体现如下趋势:随...
uclinux阅读全文
2019-08-16 06:56
⁄ 工业·编程
⁄ 共 3215字
一、名字含义:
在uClinux这个英文单词中u表示Micro,小的意思,C表示Control,控制的意思, 所以uClinux就是Micro-Control-Linux,字面上的理解就是"针对微控制领域而设计的Linux系统"。
二、ucLinux与linux区别?
没有虚存管理
不能运行时增加进程栈
不支持分页
可执行程序不是elf, 而是flat
不能用fork, 而是用vfork
RAMDISK
uClinux是针对控制领域的嵌入式linux操作系统,它从...
linux, uclinux, 区别阅读全文
2019-08-15 06:55
⁄ 工业·编程
⁄ 共 6443字
上一篇文章中我们初步认识了CMake中的一些概念:target(目标)、command(命令)等等。这篇文章我们来学习一下CMake的原理,并详细阐述这些概念。
1 CMake的结构
CMake有三个关键概念:target、generator和command,其中target和command我们已经有所了解了。在CMake中,这些东西本质上都是C++的类。理解这些概念对于编写出高效的CMake构建脚本很有帮助。
在更进一步了解CMake这些概念之前,有必要先了解一...
CMake阅读全文
2019-08-14 06:51
⁄ 工业·编程
⁄ 共 2091字
平时开发中我们已经习惯了让IDE为我们做好一切,大部分情况下基本上不需要手动去编写项目的make文件,但是在规模较大的项目中,make其实非常重要,甚至可以说会不会make决定了你是否真的了解项目的整体架构并驾驭它。因为自己在Android开发中发现项目中的NDK部分已经抛弃了传统的Android.mk,与时俱进用上了CMake,因此打算静下心来好好学习学习,本文开始对学习CMake的过程做个笔记,以加深印象。参考书籍是《mastering...
CMake阅读全文
2019-08-13 05:45
⁄ 工业·编程
⁄ 共 15416字
什么是 CMake
All problems in computer science can be solved by another level of indirection.
David Wheeler
你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为...
CMake阅读全文
2019-08-12 07:50
⁄ 工业·编程
⁄ 共 479字
针对GitHub上的几个几个C++ Restful库做了一个系统的对比:
Restful库
98%请求中的最大时间(越小越好)
每秒平均处理的请求数(越大越好)
Sample代码的行数
C++ : cpprestsdk / default JSON implementation
51
30.70
48
C++ : cpprestsdk / RapidJSON
44
47.06
47
C++ : restbed
7
224.18
39
C++ : pistache
6
319.99
40
PHP : Native implementation
10
146.95
14
表格中第二列和第三列是性能指标,第四...
REST, 开源, 框架阅读全文
2019-08-11 06:38
⁄ 工业·编程
⁄ 共 1116字
因为Go的语法和Erlang、Python类似,所以我们将这三门语言做个详细的对比。
相比于Python的40个特性,Go只有31个,可以说Go在语言设计上是相当克制的。比如,它没有隐式的数值转换,没有构造函数和析构函数,没有运算符重载,没有默认参数,也没有继承,没有泛型,没有异常,没有宏,没有函数修饰,更没有线程局部存储。
但是Go的特点也很鲜明,比如,它拥有协程、自动垃圾回收、包管理系统、一等公民的函数、栈空间管理等。
Go...
Go, Python阅读全文
2019-08-10 06:55
⁄ 工业·编程
⁄ 共 3165字
所谓通讯协议就是指通信双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,倘若一方不遵守,便会直接导致数据不能被解析!更通俗来讲,它可以理解两个节点之间为了协同工作实现信息交换,协商一定的规则和约定,例如规定字节序,各个字段类型等。我们最常见到的可能是TCP(传输控制协议...
TLV, 网络协议阅读全文
2019-08-09 21:58
⁄ 工业·编程
⁄ 共 3241字
1. 函数介绍
说到memcpy()和memmove()这两个函数,可能大家从名称上认为二者是两个不同的函数。其实不然,事实上,这两个函数功能是类似的,都是对内存进行拷贝(千万不要被memmove()函数中的move给欺骗了,不要想当然的认为它就是移动),二者的区别仅仅是对于内存重叠这一现象的处理。 如果要拷贝的两个内存空间不重叠的话,那么使用memcpy(...
c++阅读全文