现在位置: 首页 > 技术文章 > 文章
2018年09月06日 基础知识 ⁄ 共 7063字 GPS 0183协议GGA、GLL、GSA、GSV、RMC、VTG解释 + 数据解析已关闭评论
全球时区的划分:   每个时区跨15°经度。以0°经线为界向东向西各划出7.5°经度,作为0时区。即0时区的经度范围是7.5°W——7.5°E。从7.5°E与7.5°W分别向东、向西每15°经度划分为一个时区,直到东11区和西11区。东11区最东部的经度是172.5°E,由172.5°E——180°之间就是东12区。西11区最西部的经度是172.5°W,由172.5°W——180°之间就是西12区。东、西12区各占经度7.5°,合成一个完整的时区,即全球总共划分为24个时区。东、西12区...
阅读全文
2018年08月29日 基础知识 ⁄ 共 3086字 gcc -ffunction-sections -fdata-sections -Wl,–gc-sections 参数详解已关闭评论
背景 有时我们的程序会定义一些暂时使用不上的功能和函数,虽然我们不使用这些功能和函数,但它们往往会浪费我们的ROM和RAM的空间。这在使用静态库时,体现的更为严重。有时,我们只使用了静态库仅有的几个功能,但是系统默认会自动把整个静态库全部链接到可执行程序中,造成可执行程序的大小大大增加。 参数详解 为了解决前面分析的问题,我们引入了标题中的几个参数。GCC链接操作是以section作为最小的处理单元,只要一个sect...
阅读全文
2018年08月25日 基础知识 ⁄ 共 2958字 cortex-M3 的SVC、PendSV异常与RTOS已关闭评论
SVC和PendSV SVC(系统服务调用,亦简称系统调用)和PendSV(可悬起系统调用),它们多用于在操作系统之上的软件开发中。 SVC: SVC 用于产生系统函数的调用请求。 例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程序使用SVC 发出对系统服务函数的呼叫请求,以这种方法调用它们来间接访问硬件。 因此, 当用户程序想要控制特定的硬件时,它就会产生一个SVC 异常, 然后操作系统提供的SVC 异常服...
阅读全文
2018年08月21日 基础知识 ⁄ 共 2632字 一图看懂开源许可协议:GPL、BSD、MIT、Mozilla、Apache、LGPL已关闭评论
以下是上述协议的简单介绍(单击图片可看大图): BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: 1、如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 2...
阅读全文
2018年08月17日 基础知识 ⁄ 共 1174字 多核CPU运行基础知识及核间通信已关闭评论
多核CPU运行模式主要有以下三种: •非对称多处理(Asymmetric multiprocessing,AMP)——每个CPU内核运行一个独立的操作系统或同一操作系统的独立实例(instantiation)。 •对称多处理(Symmetric multiprocessing,SMP)——一个操作系统的实例可以同时管理所有CPU内核,且应用并不绑定某一个内核。 •混合多处理(Bound multiprocessing,BMP)——一个操作系统的实例可以同时管理所有CPU内核,但每个应用被锁定于某个指定的核心。 ...
阅读全文
2018年08月11日 linux ⁄ 共 7236字 设备树详解(转)已关闭评论
在Linux3.x版本后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device、i2c_board_info等)被大量取消,取而代之的是设备树,其目录位于arch/arm/boot/dts. 1.设备树的组成 1个dts文件+n个dtsi文件,它们编译而成的dtb文件就是真正的设备树 soc厂商会把soc公共的特性和多块开发板公用的特性提炼为dtsi,而dts则负责描述某个具体的产品(开发板)的特性。dts直接或间接的包含多个dtsi(类似于c...
阅读全文
×