本文从嵌入式软件开发的角度,简要讲述时钟系统的原理、组成、寄存器配置与开发、进阶应用等,引述示例包括但不限于ST、JL等厂商片子的时钟系统。
【蓝牙】BLE HID 键鼠设备开发全流程概述
主要讲述基于BLE HID的键鼠设备协议和开发流程,并以杰理方案为例,讲述实际的蓝牙鼠标项目开发过程。
【接口】SPI 外设接口调试与应用开发
本文讲述SPI,不限于外设接口原理与配置、应用方案介绍、SPI-NorFlash/SPI-NandFlash等的初始化、读、写原理与过程调试记录。
【RTOS】多核系统下的临界区保护设计以及案例分析
本文简要讲述临界区概念以及保护机制,重点以杰理JL701N芯片方案的两个临界区设计问题为例,介绍多核系统下的临界区保护设计。
【蓝牙】分析仪使用及基本蓝牙数据包解析
讲述 EllisysBluetoothAnalyzer 蓝牙分析仪工具的配置与使用,以及经典蓝牙数据包分析方法,并以杰理方案为例,讲述相关的嵌入式业务案例,其它方案可类比分析。
【杰理】杰理SDK-Makefile-编译构建下载流程分析
本文讲述杰理SDK-Makefile的编译/构建/下载流程及目标程序的固件集,理解编译构建过程,有助于新手开发者熟悉SDK文件框架构成、配置编译链接选项、增删文件编译、了解各bin文件作用、进行程序空间优化等。
嵌入式之文件系统应用开发笔记
讲述个人对嵌入式文件系统的学习、理解、思考、移植与应用开发
【USB】USB插拔检测原理及应用
主要讲述USB插拔,包括USB2.0低速、全速/高速、USB3.0等设备上下线检测原理,并介绍在嵌入式USB-OTG设备下的插拔检测软件设计方案。
【蓝牙】BLE Profile概述
本文以个人理解角度,主要讲述低功耗蓝牙BLE的GATT层相关概念,包括Profile、Profile_data、服务、特征声明、特征值等以及其应用分析。
【USB】USB基本通讯原理概述
讲述个人对USB知识体系的认知,以及USB在业务开发中的应用等。
【音频】嵌入式之音频开发知识概述
本人并不专于音频开发,但日常工作中难免也会经常接触到音频,因此写下本文记录嵌入式与其相关的基础知识,包括但不限于音频采集、播放、编解码、频谱分析、编码开发应用等方面,便于理清其基本概念及开发思路。
【蓝牙】经典蓝牙和TWS的连接原理
讲述经典蓝牙连接和TWS连接的原理,包括蓝牙状态介绍、配对流程、回连流程、TWS连接与回连流程、BT/TWS各个地址概念等。
杰理科技SDK开发笔记
本文从新人角度,暂且以`jl701n_soundbox_release_v1.4.2/sdk`为例,讲述对杰理SDK的入门与开发理解。
【编程】私有通信协议栈的开发设计与应用
通信协议是设备间协同工作的关键,当然此处所说的通信协议并不是指硬件层的 UART、IIC、SPI 等通信接口,也不是指 BLE、WI-FI、USB 此类数据传输协议,其是特指在已经实现设备间数据透明传输通路的基础上,再封装的一层私有协议,用于规范设备间业务数据/功能/命令等的交互,从而实现稳定可靠的多设备多模块间协同工作。
【编程】嵌入式单片机C语言开发之设计模式概述
早就听过设计模式、也阅览过一些与设计模式相关的文章,相信即使是未曾了解过设计模式的嵌入式软件工程师,或多或少的都在日常开发中有应用到相关的设计思想,因此,写下本文,以系统总结本人在嵌入式C语言开发工作中对设计模式的理解及应用。
【MCU】嵌入式开发之命令行调试-Shell全剖析
日常在嵌入式软件开发中的调试方法包括有在线调试、日志打印、Shell 交互、BackTrace 等,其中 Shell 能够以命令行交互的方式直接访问系统信息或者执行功能函数,是辅助开发的调试利器之一,本文主要记录、总结个人对嵌入式 Shell 的应用、理解及原理分析。
【Harmony】OpenHarmony轻量系统--XTS子系统编译适配及测试
介绍基于国民技术N32G452芯片(Cortex-M4内核)的OpenHarmony-V4.0轻量系统移植工程,进行XTS子系统编译适配及应用兼容性测试分析的开发过程,以供参考
【MCU】嵌入式单片机移植CmBacktrace
CmBacktrace是针对Cortex-M内核芯片提供程序运行异常时的堆栈回溯工具/中间件,将其移植到单片机中,可以在程序异常时打印相应的故障信息包括函数调用链、变量值、寄存器值等,大大缩短bug排查时间。本文介绍CmBacktrace的移植适配过程、原理解析、实际应用以及一些扩展问题思考等。
【硬件】嵌入式硬件--学习笔记
写下此篇文章,系统性地总结个人对硬件开发的认知,以作回顾,本意不是为了深入硬件开发,因为每个细分领域的差异都是巨大的,而人的精力是有限的。
但是,作为一个嵌入式软件开发人员,应当要对硬件有所了解,适当地学习认识硬件,相信对嵌入式开发本业也能起到一定的反哺作用。
【构建】Kconfig入门、常用语法学习笔记
Kconfig作为一个配置管理工具,其不仅是Linux内核配置系统的一部分,也被广泛应用于其它开源项目,如Buildroot、U-Boot、OpenHarmony、BusyBox等。
要熟悉大型工程的配置和编译构建过程,那么需要对Kconfig有一定了解,本文为Kconfig之学习笔记,介绍Kconfig的概况、常用语法、代码示例解释、及对其于OpenHarmony的应用解析等。
【构建】常用编译/链接选项说明及其应用分析
介绍 GCC + Make 开发环境下, 使用 arm-none-eabi- 工具链进行编译链接时, 可选的编译\链接选项及其意义解释。此外,也对实际工程开发中的一些非典型操作进行示例分析
【硬件】PCB设计前置知识学习笔记
记录PCB设计的基础知识,包括PCB结构、PCB制作流程、制作工艺以及设计流程中所涉及的各项要素概念之解析等。
【硬件】硬件基础器件知识记录
记录在硬件设计中所涉及的基础元器件概念及知识,当然,此部分内容在大学书本均可找到,因此记录本文之目的主要为回顾大学所学硬件基础知识,辅助提升个人对软硬的系统性认知。
【Harmony】OpenHarmony-LiteOS-M内核之编译构建及移植适配过程解析
Symbols count in article: 3.2k Reading time ≈ 11 mins.
要基于OpenHarmony-V4.0-Release源码工程进行LiteOS-M轻量系统的设备开发,那么熟悉了解其编译构建过程是必要的;本文以STM32/N32G452的LiteOS移植工程为例,剖析其业务代码、内核代码的调用编译构建流程
【构建】GN和Ninja构建工具的基础入门、进阶和应用开发
GN是一个用于生成工程构建配置文件的工具,而Ninja工具用于替代Make、执行实际构建过程,其构建过程快速、高效,二者通常一起使用。
要移植鸿蒙LiteOS-M、了解其源码工程之构建,那么熟悉GN和Ninja的编译构建方式是必要的,本文介绍个人对GN与Ninja的学习与理解,主要目的为辅助理解OpenHarmony-LiteOS-M工程。
【MCU】嵌入式自动初始化
Symbols count in article: 1.4k Reading time ≈ 5 mins.
主要讲述MCU如何具体实现自动初始化的几种方式,基本原理为:给所有需要初始化的函数声明一个段,在段的首末设定锚点,通过执行首末地址之间的所有函数指针,从而实现隐式的函数初始化。
Git使用小贴士
主要记录Git的常用命令、一些非典型操作及其意义解析,也包括在 Git 应用中所遇到的一些问题及解决方案,便于检索与回顾
【Harmony】OpenHarmony-V4.0-LiteOS-M鸿蒙轻内核开发调试
参考社区的STM32之Ninja编译方式的工程范例,移植搭建基于LiteOS的N32WB452工程,记录其过程中的一些编译纠错、代码功能编写及构建、XTS子系统测试等相关信息,以供检索回溯
【Linux】Linux内核移植概述--基于I.MX6ULL
个人对Linux内核移植流程的总结、浅薄理解
【构建】嵌入式ld链接脚本详解
记录链接脚本的学习内容,主要为链接脚本的要素简述、常用语法说明、常见片段的意义解析、示例代码的讲述及应用
【MCU】嵌入式MCU开发问题记录
记录、总结嵌入式开发中遇到的一些小问题,包括但不限于现象记录、原因分析以及解决思路等。
【构建】Makefile学习笔记
日常的嵌入式软件开发中不可避免地要接触和熟悉各种各样大大小小的工程,它们的构建编译方式当然也不是一成不变的,包括并不限于 Keil IDE集成环境、GCC + Make、SCons + GCC、GN/Ninja + GCC/RISCV 等等。
在这个开发工作过程中,积累了一些碎片化知识,怀着所学所遇皆记录以供回顾的想法,写下这篇文章,记录下个人对 Makefile 的认知学习及实际开发中的应用。
无刷电机调试方法简述
应用峰岹FT8215/FU6815电机驱动芯片,进行低压三相无刷电机的调试,记录在图形界面/Keil环境下的参数配置、调试等过程
【Linux】Linux U-Boot移植概述-基于I-MX6ULL
记录下基于I.MX6ULL的u-boot移植流程,作为U-Boot移植入门的简单总结回顾,不涉及深层知识
【编程】C语言知识点记录
记录、总结在嵌入式开发中遇到的C知识点,以及一些C编程注意项
【MCU】ARM架构及相关概念
Symbols count in article: 986 Reading time ≈ 3 mins.
记录ARM架构体系、指令集、寄存器等相关的一些概念知识
【MCU】通过VSCode + GDB 搭建WSL下的嵌入式MCU调试环境
简述在Windows中,使用VSCode登陆WSL,实现在WSL环境下通过GDB + J-Link的STM32调试方法
【构建】编译/链接原理及其在开发中之体现
讲述个人对C工程编译链接的一些浅薄见解,不涉及深层的编译原理;此外,也记录在开发中所遇到的与编译、链接相关的知识及其应用
【Harmony】LiteOS适配及开发笔记
基于码云OpenHarmony的kernel_liteos_m项目源码,进行国民技术N32G452芯片的移植开发,应用gcc+make命令行开发环境,本文主要介绍个人初次接触LiteOS的适配开发过程、心得,和不得不说的一些槽点。
杂项笔记
记录日常辅助开发中所涉及到的杂项操作,包括运维工具、开发辅助工具、日常工具等的相关操作,为检索使用
【MCU】STM32启动流程概述
介绍STM32/xx32的从Flash启动流程,分别从Keil和GCC下的.s启动文件进行分析:从0x8000000到用户main()之间的初始化执行过程。
WSL小贴士
日常使用WSL开发的一些操作总结
【Linux】Linux知识小贴士
日常使用Linux的一些操作总结,不限定范围,涉及运维、辅助开发等相关应用点
【MCU】MCU开发知识点记录与总结
记录在嵌入式MCU开发中所遇知识点,包括但不限于Cortex-M内核、常用外设原理及应用编码等部分,以便检索与回顾
【编程】嵌入式MCU软件架构设计
总结个人在嵌入式裸机开发、RTOS开发中所应用的软件架构设计
【MCU】基于MCU的IAP/OTA升级软件设计思路及流程分析
讲述在MCU开发中的几种 IAP 固件升级软件设计方法、具体工作流程及应用相关事项,也包含个人于实际产品开发中的 IAP/OTA 案例及代码设计、注意项分析
【Linux】嵌入式Qt环境搭建概述
基于I.MX6ULL,概述嵌入式Qt开发流程