现在位置: 首页 > 技术文章 > 文章
2019年04月12日 硬件与存储 ⁄ 共 4270字 全面理解SSD和NAND Flash已关闭评论
Flash Memory又叫做闪存,是一种非易失性存储器。非易失性是指断电之后数据不会丢失,这里就涉及到断电保护(后面详细讲解)。 总体思路 1、前言:HDD和SSD的比较引出Flash。 2、Flash的分类:NAND Flash和NOR Flash。 3、NAND Flash规则介绍。 4、SSD固件(Firmware,FW)包括:映射表(Mapping Table)、垃圾回收(Garbage Collection)、磨损平衡(Wear Leveling,WL)等。 5、补充概念:写入放大(Wri...
阅读全文
2019年01月10日 技术文章 ⁄ 共 1137字 Cortex M 使用FreeRTOS小记已关闭评论
环境:Keil 芯片:STM32F103 今天只是一次尝试运行的记录,包括工程搭建流程及运行演示,具体的FreeRtos的实现细节,博主也是刚刚开始学习,后续会写一写碰到的知识点。 1、 从官网下载最新版的FreeRTOS源码 https://www.freertos.org/ 下载包目录包含两个子目录:FreeRTOS和FreeRTOS-Plus。如下所示: FreeRTOS-Plus          包含FreeRTOS+组件和演示例程;FreeRTOS                   包含FreeRTO...
阅读全文
2018年11月06日 技术文章 ⁄ 共 1949字 LINUX驱动框架之Framebuffer驱动框架已关闭评论
长时间不看,一些基础知识确实忘得差不多了,得慢慢捡起来,从网上搜了一篇关于Framebuffer的文章,记录一下: (节选自 https://blog.csdn.net/gqb_driver/article/details/12918547) 一、基本概念 帧缓冲(Framebuffer)是Linux系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这...
阅读全文
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 异常服...
阅读全文
×