<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yannick Jiang 的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/don_chiang709</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; don_chiang709]]></copyright><item><title><![CDATA[《HF经理》：二认知误区]]></title><link>https://blog.csdn.net/don_chiang709/article/details/137711920</link><guid>https://blog.csdn.net/don_chiang709/article/details/137711920</guid><author>don_chiang709</author><pubDate>Mon, 15 Apr 2024 22:40:21 +0800</pubDate><description><![CDATA[对策：展示自己的品质，能力和影响力。]]></description><category></category></item><item><title><![CDATA[《HF经理》：一、管理误区]]></title><link>https://blog.csdn.net/don_chiang709/article/details/137709617</link><guid>https://blog.csdn.net/don_chiang709/article/details/137709617</guid><author>don_chiang709</author><pubDate>Sat, 13 Apr 2024 11:47:52 +0800</pubDate><description><![CDATA[1、不善授权:

原因：不信任下属，惯性思维（任务一来自己冲到最前面）

对策：从个人成功到带领团队成功。培养并信任下属。



2、不主动寻求上级支持:

原因：上级不仅仅是你的监督和考核者，还是你的支持者。

对策：上级也是一种资源，主动沟通会获得更多支持。



3、不注意形象:

原因：只关注实质，不注意形式。员工会认为，管理者自大，只关心绩效不关心员工，是传话筒。

对策：展示乐观精神和职业态度。



4、忽略战略性思考:

原因：以为眼前紧迫的任务比全局行动更重要，享受救火

对策：团队目]]></description><category></category></item><item><title><![CDATA[《江南春》Yannick]]></title><link>https://blog.csdn.net/don_chiang709/article/details/137709330</link><guid>https://blog.csdn.net/don_chiang709/article/details/137709330</guid><author>don_chiang709</author><pubDate>Sat, 13 Apr 2024 10:16:09 +0800</pubDate><description><![CDATA[柳絮纷飞四月天，疑是繁星落人间。桃花有意先报春，春笋无心悄然见。]]></description><category></category></item><item><title><![CDATA[【ARM 嵌入式 C 入门及渐进 9 --- 代码优化的经验与方法】]]></title><link>https://blog.csdn.net/don_chiang709/article/details/135567842</link><guid>https://blog.csdn.net/don_chiang709/article/details/135567842</guid><author>don_chiang709</author><pubDate>Sat, 13 Jan 2024 11:45:21 +0800</pubDate><description><![CDATA[原文链接：https://blog.csdn.net/sinat_32960911/article/details/128811538。版权声明：本文为CSDN博主「CodingCos」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。【ARM 嵌入式 C 入门及渐进 9 --- 代码优化的经验与方法】1.1.4 通过2的幂次进行除法和取余数。1.1.3 合并除法和取余数。1.1.2 除法和取余数。1.4.3 懒检测开发。1.5.5 使用查找表。1.2.2 全局变量。]]></description><category></category></item><item><title><![CDATA[《暖冬.游金海》]]></title><link>https://blog.csdn.net/don_chiang709/article/details/135128808</link><guid>https://blog.csdn.net/don_chiang709/article/details/135128808</guid><author>don_chiang709</author><pubDate>Thu, 21 Dec 2023 13:39:02 +0800</pubDate><description><![CDATA[暖冬.游金海》-Yannick白头芦苇杉衣红，两岸成对映溪中。夕阳拾景惹人醉，落叶听松踏暖冬。]]></description><category></category></item><item><title><![CDATA[为什么inline 函数定义在头文件.h中]]></title><link>https://blog.csdn.net/don_chiang709/article/details/132590804</link><guid>https://blog.csdn.net/don_chiang709/article/details/132590804</guid><author>don_chiang709</author><pubDate>Wed, 30 Aug 2023 21:31:23 +0800</pubDate><description><![CDATA[答案：因为可以解决所用调用inline函数的所有.c文件反复定义该inline函数，inline函数具有局部可见性。编译器不会生成inline函数的链接符号，inline函数只会直接替换代码（类似与宏）。你可以在A.c 和 B.c里重复定义一个inline void func()函数给A.c和B.c用。相反，如果非inline函数定义在.h中。如果非inline函数，是在.h中声明，在.c中定义。一、是不是Inline函数只能定义在.h中？而inline函数在.h中定义。]]></description><category></category></item><item><title><![CDATA[蓦然回首已十年]]></title><link>https://blog.csdn.net/don_chiang709/article/details/132374794</link><guid>https://blog.csdn.net/don_chiang709/article/details/132374794</guid><author>don_chiang709</author><pubDate>Sat, 19 Aug 2023 06:36:04 +0800</pubDate><description><![CDATA[《十年》
汝北吾南皆为客，
同甘共苦十年间。
亦师亦友亦知己，
半慕半尊半倾心。
愿有岁月可回首，
且以深情共白头。




]]></description><category></category></item><item><title><![CDATA[《游大庸.赠才军》]]></title><link>https://blog.csdn.net/don_chiang709/article/details/132329046</link><guid>https://blog.csdn.net/don_chiang709/article/details/132329046</guid><author>don_chiang709</author><pubDate>Wed, 16 Aug 2023 22:00:06 +0800</pubDate><description><![CDATA[游大庸.赠才军》同窗一别数十载，相逢一席杯莫停。千杯饮尽未言醉，谈笑风生忆青春。]]></description><category></category></item><item><title><![CDATA[《兰城.晨跑》]]></title><link>https://blog.csdn.net/don_chiang709/article/details/132328817</link><guid>https://blog.csdn.net/don_chiang709/article/details/132328817</guid><author>don_chiang709</author><pubDate>Wed, 16 Aug 2023 21:54:14 +0800</pubDate><description><![CDATA[《兰城.晨跑》]]></description><category></category></item><item><title><![CDATA[UFS VS NVMe]]></title><link>https://blog.csdn.net/don_chiang709/article/details/129622653</link><guid>https://blog.csdn.net/don_chiang709/article/details/129622653</guid><author>don_chiang709</author><pubDate>Fri, 17 Mar 2023 15:57:44 +0800</pubDate><description><![CDATA[杂说闪存一：关公战秦琼之 UFS VS NVMe - 知乎]]></description><category></category></item><item><title><![CDATA[JTAG 系列（三）： JTAG远程连接]]></title><link>https://blog.csdn.net/don_chiang709/article/details/121123742</link><guid>https://blog.csdn.net/don_chiang709/article/details/121123742</guid><author>don_chiang709</author><pubDate>Wed, 03 Nov 2021 16:28:59 +0800</pubDate><description><![CDATA[JTAG 远程连接向导

准备工作

需要申请硬件防火墙需要放行ICS的19020端口，还有windows防火墙先把整个OZone软件的访问网络的权限打开。
	ICS服务器上需要安装Ozone
启动J-Link Remote Sever


二、使用J-Link Client端连接

使用J-Link GDB Server 做为client来连接

2.1. 配置GDB Server



2.2 连接成功



使用Ozone client做为client来连接

3.1. 创建Ozone 的proj..]]></description><category></category></item><item><title><![CDATA[SPI、I2C、UART（即串口）三种串行总线详解]]></title><link>https://blog.csdn.net/don_chiang709/article/details/119633594</link><guid>https://blog.csdn.net/don_chiang709/article/details/119633594</guid><author>don_chiang709</author><pubDate>Thu, 12 Aug 2021 09:24:46 +0800</pubDate><description><![CDATA[SPI、I2C、UART（即串口）三种串行总线详解
]]></description><category></category></item><item><title><![CDATA[ARM 之九 Cortex-M/R 内核启动过程 / 程序启动流程（基于ARMCC、Keil）]]></title><link>https://blog.csdn.net/don_chiang709/article/details/119599634</link><guid>https://blog.csdn.net/don_chiang709/article/details/119599634</guid><author>don_chiang709</author><pubDate>Wed, 11 Aug 2021 11:15:05 +0800</pubDate><description><![CDATA[ARM 之九 Cortex-M/R 内核启动过程 / 程序启动流程（基于ARMCC、Keil）
]]></description><category></category></item><item><title><![CDATA[ARM 之八 Cortex-M/R 内核启动过程 / 程序启动流程（基于IAR）]]></title><link>https://blog.csdn.net/don_chiang709/article/details/119598418</link><guid>https://blog.csdn.net/don_chiang709/article/details/119598418</guid><author>don_chiang709</author><pubDate>Wed, 11 Aug 2021 10:51:50 +0800</pubDate><description><![CDATA[ARM 之八 Cortex-M/R 内核启动过程 / 程序启动流程（基于IAR）
]]></description><category></category></item><item><title><![CDATA[ARM 之一 ELF 文件、镜像（Image）文件、可执行文件、对象文件 详解]]></title><link>https://blog.csdn.net/don_chiang709/article/details/119597164</link><guid>https://blog.csdn.net/don_chiang709/article/details/119597164</guid><author>don_chiang709</author><pubDate>Wed, 11 Aug 2021 10:32:43 +0800</pubDate><description><![CDATA[原文链接：https://blog.csdn.net/ZCShouCSDN/article/details/100048461
]]></description><category></category></item><item><title><![CDATA[windows 脚本 bat: start命令与call命令的区别]]></title><link>https://blog.csdn.net/don_chiang709/article/details/117021819</link><guid>https://blog.csdn.net/don_chiang709/article/details/117021819</guid><author>don_chiang709</author><pubDate>Wed, 19 May 2021 11:34:02 +0800</pubDate><description><![CDATA[start命令与call命令的区别

　　start命令应用示例：新建两个文本文件，一个命名为startmain，修改文件类型为bat，用Notepad++打开编辑内容为：




1 @echo off
2 set a=1
3 pause&gt;nul
4 echo start startchild.bat
5 start startchild.bat
6 echo end start
7 pause&gt;nul
8 echo %b%
9 pause&gt;nul



　　一个命名为startch..]]></description><category></category></item><item><title><![CDATA[结构体 和 结构体指针 作参数的区别]]></title><link>https://blog.csdn.net/don_chiang709/article/details/116886120</link><guid>https://blog.csdn.net/don_chiang709/article/details/116886120</guid><author>don_chiang709</author><pubDate>Sun, 16 May 2021 11:45:33 +0800</pubDate><description><![CDATA[1. 结构体指针作函数的参数：

将结构体的地址传送给函数，效率高，可以修改实参的值。

2、结构体作函数的参数：

将结构体的全部成员值传送给函数，效率低，不能修改实参的值。


]]></description><category></category></item><item><title><![CDATA[ABI (Application Binary Interface)解析]]></title><link>https://blog.csdn.net/don_chiang709/article/details/116444591</link><guid>https://blog.csdn.net/don_chiang709/article/details/116444591</guid><author>don_chiang709</author><pubDate>Thu, 06 May 2021 08:34:43 +0800</pubDate><description><![CDATA[应用程序二进制接口ABI (Application Binary Interface)是一套规则，规定了二进制可执行文件在运行时应如何与某些服务（诸如内核或函数库所提供的服务）交换信息。ABI特别规定了哪些使用寄存器和栈地址来交换信息以及所交换值的含义，一旦针对某个规定的ABI进行了编译，其二进制可执行文件应能在ABI相同的任何系统上运行。与之相反，标准的API（如SUSv3）仅能通过编译源代码来保证应用程序的可移植性。

C++中允许重载方法，这些方法在源代码中有相同的名字，却有不同的参数列表。链接器需要]]></description><category></category></item><item><title><![CDATA[状态机设计算法]]></title><link>https://blog.csdn.net/don_chiang709/article/details/116005083</link><guid>https://blog.csdn.net/don_chiang709/article/details/116005083</guid><author>don_chiang709</author><pubDate>Thu, 22 Apr 2021 11:13:24 +0800</pubDate><description><![CDATA[搜索了一下网上的已有的状态机算法，下面两种好于switch case/ if else 的状态机算法。

静态数组表示法
	状态转移表 + 函数指针数组实现状态机
但是我认为状态转移表 + 函数指针数组实现状态机是其中最优的。所以转载传播一下。



状态机在工程中使用非常的频繁，有如下常见的三种实现方法：
1. switch-case 实现，适合简单的状态机；
2. 二维状态表state-event实现，逻辑清晰，但是矩阵通常比较稀疏，而且维护麻烦；
3. 用状态转移表stateTransfer T...]]></description><category></category></item><item><title><![CDATA[git 版本管理常用命令]]></title><link>https://blog.csdn.net/don_chiang709/article/details/114629517</link><guid>https://blog.csdn.net/don_chiang709/article/details/114629517</guid><author>don_chiang709</author><pubDate>Wed, 14 Apr 2021 21:02:47 +0800</pubDate><description><![CDATA[1. git pull 拉取远程版本库到本地并自动Merge，类似（git fetch + git merge），但不完全等价。Git fetch和git pull的区别

示例


$ git pull &lt;远程主机名&gt; &lt;远程分支名&gt;:&lt;本地分支名&gt;



2. git log 查看最近的入库日志。



3. git staus 查看是否有需要提交的 commit



4. git commit 提交到本地库



5. git push 提交本地库的c...]]></description><category></category></item></channel></rss>