<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FangsTun的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FangsTun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FangsTun]]></copyright><item><title><![CDATA[git：打patch]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/162260833</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/162260833</guid><author>FangsTun</author><pubDate>Wed, 24 Jun 2026 09:54:33 +0800</pubDate><description><![CDATA[本文介绍了Git常用命令，包括：1)使用git add添加修改文件；2)用git commit -m提交并描述修改内容；3)通过git format-patch生成补丁文件，支持生成最近1次/N次提交的补丁，或指定提交范围的补丁。这些命令适用于代码修改提交和补丁生成场景。]]></description><category></category></item><item><title><![CDATA[U-boot：自搬移]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/156862079</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/156862079</guid><author>FangsTun</author><pubDate>Mon, 12 Jan 2026 17:19:50 +0800</pubDate><description><![CDATA[U-Boot自搬移机制是启动流程中的核心环节，通过将自身从加载地址迁移到指定运行地址（TEXT_BASE）实现高效运行。该过程包括硬件初始化、参数计算、内存拷贝和地址修正等关键步骤，依赖链接脚本精准配置运行地址和重定位表。自搬移解决了加载地址与运行地址不一致的问题，避免内存冲突并提升性能。在ARM架构中需特别注意TEXT_BASE与SDRAM地址的匹配性，异常排查重点包括地址设置、重定位表完整性及拷贝方向等。部分场景（如SPL运行于片内RAM）可省略此过程。]]></description><category></category></item><item><title><![CDATA[VSCODE：空格和制表符]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/156711850</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/156711850</guid><author>FangsTun</author><pubDate>Thu, 08 Jan 2026 09:25:27 +0800</pubDate><description><![CDATA[git ci审查时，tab被识别成空格导致的问题。设置tab不插入空格。]]></description><category></category></item><item><title><![CDATA[git：revert错误提交]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/156238598</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/156238598</guid><author>FangsTun</author><pubDate>Wed, 24 Dec 2025 17:36:24 +0800</pubDate><description><![CDATA[Git 常用操作摘要： git log --oneline 查看简洁提交历史 git revert 哈希 撤销指定提交并生成新提交 git push origin 分支名 推送更改到远程仓库 这些命令组合常用于查看历史、安全回退代码及同步远程仓库。（49字）]]></description><category></category></item><item><title><![CDATA[git：从stash list里取文件]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/155950120</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/155950120</guid><author>FangsTun</author><pubDate>Mon, 15 Dec 2025 20:10:07 +0800</pubDate><description><![CDATA[Git Stash操作摘要 查看stash内容： 简略查看：git stash show stash@{1} 详细查看修改内容：git stash show -p stash@{1}（推荐） 导出stash文件： 安全导出为新文件：git show stash@{1}:path/file &gt; newfile.c 直接取出到工作区（会覆盖当前文件）：git checkout stash@{1} -- path/file.c（注意备份） （注：操作示例针对stash@{1}，可根据需要替换其他stash编]]></description><category></category></item><item><title><![CDATA[U-boot：执行cmd问题]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/155461898</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/155461898</guid><author>FangsTun</author><pubDate>Mon, 01 Dec 2025 20:29:45 +0800</pubDate><description><![CDATA[摘要：Uboot命令支持简写匹配，只需输入命令的前几个字符即可执行。例如，定义命令test后，输入te即可触发该命令，前提是te不与其他命令前缀冲突。该规则适用于仅输入命令首字母的情况，如t等同于test。这种机制提高了命令行操作的效率。]]></description><category></category></item><item><title><![CDATA[U-boot修改代码，使启动倒计时结束直接进入命令行，不起kernel]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/155395120</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/155395120</guid><author>FangsTun</author><pubDate>Sat, 29 Nov 2025 20:49:32 +0800</pubDate><description><![CDATA[本文介绍了如何修改uboot源码中的autoboot功能。具体步骤为：进入vicommon/autoboot.c文件，修改autoboot_command()函数，注释掉包含bootdelay判断条件的代码段，保存后重新编译即可。该修改移除了启动延迟判断逻辑，简化了uboot的自动启动流程。]]></description><category></category></item><item><title><![CDATA[git：处理被退回的提交]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/155068935</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/155068935</guid><author>FangsTun</author><pubDate>Thu, 20 Nov 2025 16:09:28 +0800</pubDate><description><![CDATA[本文介绍Git操作流程：首先使用git log查看提交记录，通过git reset回退到指定commit；接着修改代码并重新提交（git add + git commit --amend）。处理冲突时使用git stash暂存修改，确保编译通过后恢复工作区。合并分支时先拉取最新代码（git checkout + git pull），再用git rebase合并分支，最后强制推送（git push --force）。注意：不同公司可能有特定操作规范，本文仅供参考。]]></description><category></category></item><item><title><![CDATA[VSCODE：保存文件时删除行尾空格]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/155066746</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/155066746</guid><author>FangsTun</author><pubDate>Thu, 20 Nov 2025 15:07:56 +0800</pubDate><description><![CDATA[摘要：在VSCode中取消自动删除行尾空格的方法：打开VSCode编辑器，点击左下角的设置图标，在搜索框中输入&quot;Files:TrimTrailingWhitespace&quot;找到该选项，将其取消勾选即可完成设置。这样VSCode就不会自动删除代码中的行尾空格了。]]></description><category></category></item><item><title><![CDATA[爽解报错：mobaxterm右键菜单失效原因]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/154341795</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/154341795</guid><author>FangsTun</author><pubDate>Mon, 03 Nov 2025 11:29:57 +0800</pubDate><description><![CDATA[摘要：在MOBA页面使用串口时，右键菜单功能异常（原本用于设置换行，现变为粘贴功能）。解决方法为：进入顶层菜单Settings→Terminal，取消勾选&quot;Paste using right-click&quot;选项即可恢复右键原有功能。]]></description><category></category></item><item><title><![CDATA[创作纪念日]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/153688592</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/153688592</guid><author>FangsTun</author><pubDate>Tue, 21 Oct 2025 14:28:39 +0800</pubDate><description><![CDATA[摘要：作者回顾了4年优快云使用经历，从电子信息专业学生成长为嵌入式工程师。该平台为其技术提升提供了重要支持，帮助完成从校园到职场的转型。虽因工作繁忙暂停更新，作者仍计划继续记录技术成长历程，将优快云作为长期的技术笔记本。]]></description><category></category></item><item><title><![CDATA[爽解报错：/bin/bash^M: bad interpreter: No such file or directory]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/144249857</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/144249857</guid><author>FangsTun</author><pubDate>Wed, 04 Dec 2024 21:02:57 +0800</pubDate><description><![CDATA[shell脚本从windows下移到linux下，会有报错/bin/bash^M: bad interpreter: No such file or directory。原因是在Windows中，文本文件的行尾通常以回车符(CR)和换行符(LF)的组合表示（称为CRLF），而在Linux和Unix系统中，行尾仅以换行符(LF)表示。解决方法：使用sed命令删除脚本中的回车符。]]></description><category></category></item><item><title><![CDATA[爽解报错：U-Boot编译报错Error：You must add new CONFIG options using Kconfig]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/144216788</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/144216788</guid><author>FangsTun</author><pubDate>Tue, 03 Dec 2024 15:51:07 +0800</pubDate><description><![CDATA[在u-boot/scripts/config_whitelist.txt中增加新添加的config。注意根据字母排序顺序加入正确的位置。]]></description><category></category></item><item><title><![CDATA[IC设计和IC验证是什么区别？]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/143752060</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/143752060</guid><author>FangsTun</author><pubDate>Wed, 13 Nov 2024 21:04:32 +0800</pubDate><description><![CDATA[IC设计（Integrated Circuit Design）是指从概念到物理实现的整个过程，涉及设计和创建集成电路（IC）的各个步骤。]]></description><category></category></item><item><title><![CDATA[Linux——将一个文件夹下所有文件的权限都改为777]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/141055866</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/141055866</guid><author>FangsTun</author><pubDate>Fri, 09 Aug 2024 10:43:11 +0800</pubDate><description><![CDATA[【代码】Linux——将一个文件夹下所有文件的权限都改为777。]]></description><category></category></item><item><title><![CDATA[如何在Linux下使用git（几步把你教会）]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/139899874</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/139899874</guid><author>FangsTun</author><pubDate>Mon, 24 Jun 2024 17:51:46 +0800</pubDate><description><![CDATA[但是本地的主分支名有可能依旧为master，所以可以将本地分支名也改为main，或者不改变也行，只需要按照上面所说的使用 git push -u origin "main" 设置好目标上游分支也行。如果没注意这个问题，远程仓库已经新建了master分支，即拥有两个分支main和master，那我们可以将这两个分支合并。若在合并过程中出现冲突报错，git会暂停合并过程并标记出文件中的冲突区域。在目录（/home/user/.ssh，.ssh为隐藏目录）下会出现两个文件：id_rsa，id_rsa.pub。]]></description><category></category></item><item><title><![CDATA[LeetCode——判断回文数]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/139888630</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/139888630</guid><author>FangsTun</author><pubDate>Sat, 22 Jun 2024 21:46:22 +0800</pubDate><description><![CDATA[从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。是指正序（从左向右）和倒序（从右向左）读都是一样的整数。从右向左读, 为 01。因此它不是一个回文数。是一个回文整数，返回。]]></description><category></category></item><item><title><![CDATA[QT——修改build构建目录路径]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/138806224</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/138806224</guid><author>FangsTun</author><pubDate>Mon, 13 May 2024 15:56:21 +0800</pubDate><description><![CDATA[3. 再次打开工程，Qt Creator 会提示你创建构建的目录，此时出现的目录路径就是已修改后的路径，点击所要构建的就行了。1. 项目->构建设置->General->build directory修改为自己想要保存的路径。2. 关闭Qt Creator，将工程目录下生成的后缀名为 .pro.user 的文件删掉。有时候构建的文件夹总保存在不想要的地方，那现在我们来进行修改。]]></description><category></category></item><item><title><![CDATA[爽解报错：QT跳转界面卡顿]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/138760485</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/138760485</guid><author>FangsTun</author><pubDate>Sun, 12 May 2024 17:25:04 +0800</pubDate><description><![CDATA[因为选 background-color 的话过大的图片只能显示一部分，这样截取部分图片的过程也是消耗內存资源的，选 border-color 可以缩小图片适配面板，但是缩小图片的过程也会消耗内存资源，导致卡顿。解决方案：控制界面刷新的频率，比如使用定时器（`QTimer`）来定期更新界面，或者只在数据真正变化时才更新界面。解决方案：合理规划信号槽的使用，避免不必要的信号触发，或使用事件过滤、延迟执行等策略减轻压力。解决方案：合理设计线程间通信，尽量减少锁的使用，使用Qt提供的线程安全的容器和信号槽机制。]]></description><category></category></item><item><title><![CDATA[爽解报错：QT程序运行无报错但是画面不显示]]></title><link>https://blog.youkuaiyun.com/FangsTun/article/details/138633002</link><guid>https://blog.youkuaiyun.com/FangsTun/article/details/138633002</guid><author>FangsTun</author><pubDate>Thu, 09 May 2024 21:50:37 +0800</pubDate><description><![CDATA[我遇到这个情况的原因是将其他两个类的实例化对象写在了主界面的类的构造函数里，最开始就分配给了大量內存给实例化对象，导致资源被占用，程序卡死。放在开发板上还会导致报硬件资源被占用的错，其实是内存空间不足。这个问题教会了我，不要把实例化写在构造函数里，应该写在对应的线程里，开启线程时分配资源，结束线程时就释放资源空间。]]></description><category></category></item></channel></rss>