随笔 - 997
文章 - 5
评论 - 181
阅读 -
300万
随笔分类 - 操作系统系列
包括linux内核,启动,rtos驱动等一些底层的技术分析
Ambiq Micro-AMA3B2KK-KBR芯片可穿戴产品解决方案开发之基于Freertos系统的按键和LED控制
摘要:一 前记 freetos在可穿戴设备上应用十分广泛,用来实现基本的按键和led控制,来熟悉它的基本架构。这是一个不错的尝试。 二 源码分析 1 系统初始化 这个启动task,相当于系统的入口函数,这里的setup_task承担着这个task的工作。 xTaskCreate(setup_task, "
阅读全文
Ambiq Micro-AMA3B2KK-KBR芯片可穿戴产品解决方案开发之RTC时钟
摘要:一 RTC RTC的英文全称是Real-Time Clock,翻译过来是实时时钟芯片。绝大多数mcu芯片都集成了这个功能。在可穿戴产品中,时间往往是非常重要的因素,怎么让时间保持一直在运行,那就是rtc时钟的功劳了。怎么让rtc超低功耗的运行,这个是其中的难点。 二 源码解析 -AMA3B2KK-K
阅读全文
二进制文件分析工具-hexdump使用指南
摘要:一 概念: hexdump是Linux下的一个二进制文件查看工具,它可以将二进制文件转换为ASCII、八进制、十进制、十六进制 格式进行 查看。 二 用法简介: 该工具的用法十分简单,具体如下所示: hexdump: 不适用的选项 -- - usage: hexdump [-bcCdovx] [-e
阅读全文
MSP430系列单片机特性及应用领域
摘要:概述 MSP430系列单片机是德州仪器1996年开始推向市场的一种16位超低功耗的混合信号处理器,给人们留下的最大的亮点是低功耗而且速度快,汇编语言用起来很灵活,寻址方式很多,指令很少,容易上手。主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案
阅读全文
日常用的搜索引擎,怎么使用才能达到四两拨千斤的效果
摘要:前记 相信绝大多数人都没有怎么研究过,搜索引擎的使用技巧,自己也是在一次偶然的事件中,对搜索引擎产生了好奇,随之就研究了一下。发现了很多神奇的地方,不仅仅能够极大的提升工作效率,并且能够让让你的视界的触角延伸的更远。接下来我们就捡几个重要的介绍一下,多了也记不住啊。 基本技巧 一 网站热度分析神器:
阅读全文
STM32 F4xx Fault 异常错误定位指南
摘要:STM32 F407 采用 Cortex-M4 的内核,该内核的 Fault 异常可以捕获非法的内存访问和非法的编程行为。Fault异常能够检测到以下几类非法行为: 总线 Fault: 在取址、数据读/写、取中断变量、进入/退出中断时寄存器堆栈操作(入栈/出栈)时检测到内存访问错误。 存储器管理 F
阅读全文
一张图看懂STM32芯片型号的命名规则
摘要:意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、增强型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合S
阅读全文
OpenOCD的概念,安装和使用
摘要:概念: OpenOCD是一个运行于PC上的开源调试软件,它可以控制包括Wiggler之内的很多JTAG硬件;我们可以将它理解为一种GDB服务程序。OpenOCD的源码只能通过SVN下载,地址是:svn://svn.berlios.de/openocd/trunk 。最初是由Dominic Rath同
阅读全文
arm-none-eabi-gcc编译报错:exit.c:(.text.exit+0x16): undefined reference to `_exit'
摘要:该问题的出现是链接文件导致的,是不同的gcc交叉编译器支持的链接文件不同造成的,有几种方法可以解决这个问题。 方法一:更换arm-none-eabi-gcc的版本,这个一般是新的gcc编译器才会抱着错误,把gcc交叉编译器版本回退即可。 方法二:直接修改link文件。就是在ld 文件加入 _exit
阅读全文
openjtag 的硬件连接踩坑历程
摘要:这个事情踩了不少坑,这个要记录一下: 1 代码的下载和编译按照下面的来:https://github.com/pulp-platform/pulp-debug-bridge 注意点: A 要最好使用python3. B python的语法要理解清楚,怎么在不同目录间引用,这个以后要写一篇文章总结。
阅读全文
SQLite
摘要:SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windo
阅读全文
U-boot的编译方式及目录结构解析
摘要:U-boot的整体结构和linux基本类似,编译方式一般也是非常类似的,一般的编译命令: make CROSS_COMPILE=arm-linux-gnueabihf- XXX(目标名) 清除命令: make CROSS_COMPILE=arm-linux-gnueabihf- distclean
阅读全文
ARM架构处理器扩展结构-NEON
摘要:是适用于ARM Cortex-A系列处理器的一种128位SIMD(Single Instruction, Multiple Data,单指令、多数据)扩展结构。 从智能手机和移动计算设备到HDTV,它已被公认为是多媒体应用领域中最为优越的处理器之一。它采用专门设计,简 化了软件在不同平台之间的移植,
阅读全文
硬件加速器中常用的几种加密算法
摘要:在嵌入式系统中,经常会用到版权硬件加密加速器,比较常见的有以下几种: AES: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又 称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先 的DES,已经被多方分析且
阅读全文
PCIE 2.0协议概念基本科普
摘要:PCIE的概念:是电脑总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统。 英特尔是该接口的主要支持者。PCIe仅应用于内部互连。由于PCIe是基于现有的PCI系统,只需修改物理层而无须 修改软件就可将现有PCI系统转换为PCIe。 PCIe拥有更快的速率,以取代几乎
阅读全文
源码调试debug_info 的作用和使用方法
摘要:在他通过gcc来编译程序时,在map文件中,经常会遇到如下的情况: .debug_info 0x002191b6 0x1aa9 XXX .debug_info 0x0021ac5f 0xce4 XXX .debug_info 0x0021b943 0x9cf XXX .debug_info 0x00
阅读全文
ARM中几个典型的汇编指令解析
摘要:启动嵌入式设备时,遇到了一些汇编,做个笔记,免得以后忘记了。 一句汇编语句如下所指示: __asm ( ".syntax unified\n" ".thumb\n" "movs r0,#0\n" "movs r1,#0\n" "mov r4,r0\n" "mov r5,r1\n" "ldr r0,=
阅读全文
Ubuntu 16.04 安装 arm-linux-gcc 交叉编译工具
摘要:工作需要,最近在编译linux嵌入式内核时,需要安装arm-linux-gcc交叉编译,实际上,安装这个交叉编译器的难度没啥。不过,这里有些问题还是值得我去思考和记录下来的。 这个系统的上的编译器用的是是gcc,不过,是gcc-linaro-5.5.0-2017.10-x86_64_arm-linu
阅读全文