<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ly001_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ly001_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ly001_]]></copyright><item><title><![CDATA[从零开始打造 STM32 Bootloader：HAL 库实战之旅（二）—— 分区设计、跳转实现与功能规划]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/149442263</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/149442263</guid><author>Ly001_</author><pubDate>Fri, 18 Jul 2025 12:05:58 +0800</pubDate><description><![CDATA[将应用程序分为当前运行程序区和出厂程序区，是为了保障远程 OTA 更新的安全性和系统的容错能力。当有远程 OTA 更新事件时，系统重启进入 bootloader 区，bootloader 会先擦除当前程序区，再将远程网络下载的新程序写入该区域，完成更新后跳转至当前程序区运行。若跳转后程序运行出现异常（如程序崩溃、功能异常等），bootloader 可检测到这一情况，自动将出厂程序区的程序重新烧回当前程序区，使系统恢复到出厂时的稳定状态，从而保证设备能够正常运行。]]></description><category></category></item><item><title><![CDATA[从零开始打造 STM32 Bootloader：HAL 库实战之旅（一）—— 底层驱动搭建与细节优化]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/149205588</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/149205588</guid><author>Ly001_</author><pubDate>Thu, 10 Jul 2025 17:31:10 +0800</pubDate><description><![CDATA[本系列教程将带领大家使用最新的HAL库手把手写bootloader代码]]></description><category></category></item><item><title><![CDATA[Modbus协议详解：寄存器通信过程全解析]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/146354688</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/146354688</guid><author>Ly001_</author><pubDate>Tue, 18 Mar 2025 22:50:30 +0800</pubDate><description><![CDATA[Modbus协议是一种基于串行通信的协议，最初由施耐德电气于1979年开发，用于连接PLC和计算机。如今，它已成为工业自动化中最广泛使用的协议之一，适用于各种设备，包括传感器、执行器和变频器等。Modbus协议的核心是主从通信模式。主设备（如计算机或HMI）发送请求命令，从设备（如PLC或传感器）根据请求返回相应的数据。这种通信模式简单高效，易于实现。通过以上表格和示例，你可以清晰地了解每种寄存器的通信过程和数据格式。希望这些信息能帮助你更好地理解和使用Modbus协议。]]></description><category></category></item><item><title><![CDATA[Linux 中的动态库与静态库：编译、使用与最佳实践]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/146055850</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/146055850</guid><author>Ly001_</author><pubDate>Thu, 06 Mar 2025 00:00:23 +0800</pubDate><description><![CDATA[在 Linux 中，库文件是程序运行的重要组成部分。动态库（Shared Library）：以.so结尾，运行时加载，多个程序共享。静态库（Static Library）：以.a结尾，编译时嵌入程序，运行时不依赖外部库。动态库和静态库各有优缺点，选择时需要根据具体需求权衡。动态库适合大型系统和需要频繁更新的场景，而静态库适合独立运行的工具和嵌入式系统。在开发过程中，合理使用工具（如lddnmobjdump）可以帮助更好地管理和调试库文件。]]></description><category></category></item><item><title><![CDATA[Linux系统下SQLite3使用教程(二)]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/145931128</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/145931128</guid><author>Ly001_</author><pubDate>Fri, 28 Feb 2025 16:11:04 +0800</pubDate><description><![CDATA[通过本文，你学会了如何在 Linux 下使用 C 语言与 SQLite3 进行交互，完成增删改查操作。SQLite3 是一个非常轻量级的数据库，适合嵌入式系统或小型项目。如果你对数据库操作有更高的需求，可以进一步学习 SQLite3 的高级功能，例如事务处理、索引优化等。]]></description><category></category></item><item><title><![CDATA[Linux系统下SQLite3使用教程(一)]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/145930491</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/145930491</guid><author>Ly001_</author><pubDate>Fri, 28 Feb 2025 15:58:28 +0800</pubDate><description><![CDATA[通过以上步骤，你可以在Linux系统下安装SQLite3，并通过命令行完成数据库的基本操作（增删改查）。SQLite是一个轻量级的数据库，非常适合小型项目或学习使用。如果你需要更复杂的数据库功能，可以考虑使用MySQL或PostgreSQL等关系型数据库。]]></description><category></category></item><item><title><![CDATA[在 Linux 下使用 GDB 调试程序]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/145730562</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/145730562</guid><author>Ly001_</author><pubDate>Wed, 19 Feb 2025 15:23:41 +0800</pubDate><description><![CDATA[GDB是一个功能强大的调试工具，掌握它的基本用法可以大大提高你的开发效率。希望本文能帮助你更好地使用GDB调试程序。如果你有任何问题或建议，欢迎在评论区留言，我们一起交流！]]></description><category></category></item><item><title><![CDATA[keil5(C51和stm32)安装]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/137958842</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/137958842</guid><author>Ly001_</author><pubDate>Fri, 19 Apr 2024 11:32:42 +0800</pubDate><description><![CDATA[6、复制生成的激活码，粘贴在New License ID Code处，点击Add LIC，即可成功激活mdk，显示mdk的使用期限。6、复制生成的激活码，粘贴在New License ID Code处，点击Add LIC，即可成功激活C51，显示mdk的使用期限。1、在安装文件夹中点击C51文件夹，右键管理员身份运行c51v959.exe文件。5、粘贴CID码，选择Target为C51，点击Generate，生成激活码。4、在弹出的界面中会自动安装在安装keil的路径，点击Next。]]></description><category></category></item><item><title><![CDATA[STM32CubeMX配置TIM1(高级定时器)输出互补两路PWM]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/131789601</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/131789601</guid><author>Ly001_</author><pubDate>Tue, 18 Jul 2023 16:03:55 +0800</pubDate><description><![CDATA[通过配置定时器和PWM通道的参数，用户可以精确地控制PWM信号的频率、分辨率、占空比等，实现对外围设备如电机、LED灯等的精准控制。这里PWM的互补输出要占用TIM1的两个通道，通道1选择PWM Generation CH1 CH1N(CH1为PWM的输出通道，CH1N为PWM互补输出的通道)。PWM只有通用定时器或者高级定时器才有产生PWM的复用功能，要输出互补的PWM波一般只有高级定时器才有(高级一点的F7系列的统一定时器也有)，这种PWM的输出方式不是简单的定时器中断里改变IO状态的低效方式。]]></description><category></category></item><item><title><![CDATA[windows11下安装Ubuntu 20.04.4 TLS]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/131677283</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/131677283</guid><author>Ly001_</author><pubDate>Wed, 12 Jul 2023 11:19:31 +0800</pubDate><description><![CDATA[前言：嵌入式开发用的最多的系统就是linux系统，平时学习的时候我们用的vmware虚拟机去安装一个linux环境去编译运行我们的程序，但是这样很麻烦，而且虚拟机也比较庞大，在文件传输上还得用ntp或者hgfs去共享到windows，因此我找到了一个直接在Windows上运行linux的方法。目录1、开启windows开发人员模式2、开启适用于linux的windows子系统3、安装ubuntu 20.04.4 TLS4、运行ubuntu 20.04.4 TLS5、在安装过程中遇到的问题 结语：本次补充Wi]]></description><category></category></item><item><title><![CDATA[windows10下安装Ubuntu 20.04.4 TLS]]></title><link>https://blog.youkuaiyun.com/Ly001_/article/details/130893086</link><guid>https://blog.youkuaiyun.com/Ly001_/article/details/130893086</guid><author>Ly001_</author><pubDate>Tue, 30 May 2023 16:30:16 +0800</pubDate><description><![CDATA[嵌入式开发用的最多的系统就是linux系统，平时学习的时候我们用的vmware虚拟机去安装一个linux环境去编译运行我们的程序，但是这样很麻烦，而且虚拟机也比较庞大，在文件传输上还得用ntp或者hgfs去共享到windows，因此我找到了一个直接在Windows上运行linux的方法。]]></description><category></category></item></channel></rss>