![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式C
Lenz's law
芯片-车载-医疗 行业 嵌入式工程师
展开
-
[SDIO] SD card 初始化及常用命令解析(附波形,uboot代码)
目录初始化1.cmd 02.cmd83.cmd554.acmd415.cmd26.cmd37.cmd98.cmd139.cmd710.ACMD5111.CMD612.CMD1613.CMD1714.CMD1815.CMD12tuningCMD19DW_SDHCI的tuning流程初始化1.cmd 0 /* Reset the Card */ err = mmc_go_idle(mmc...原创 2020-06-29 10:22:55 · 19772 阅读 · 2 评论 -
[misc] fatal error: hugetlbfs.h: No such file or directory
编译代码包含:#include <hugetlbfs.h>报错:xxx fatal error: hugetlbfs.h: No such file or directory原因:缺少libhugetlbfs,需要重新安装。ubuntu:sudo apt-get updatesudo apt-get install libhugetlbfs-dev...原创 2020-04-27 16:47:13 · 1216 阅读 · 0 评论 -
【PCIe】AER linux 驱动浅析
AER及linux内核驱动简介:https://blog.csdn.net/u010443710/article/details/1046491791. AER 中断首先AER驱动作为错误上报和处理的机制,肯定有一个错误上报的入口。这个入口就是AER中断。linux的AER驱动只针对RC,也就是说软件需要处理RC的AER中断请求。并在中断处理函数中通过AER 寄存器来判断错误类型并...原创 2020-03-06 17:07:24 · 5554 阅读 · 0 评论 -
独占加载和存储指令与原子操作:LDEX STEX,gcc内嵌汇编语法
转了一篇蜗牛关于原子操作的文章:https://blog.csdn.net/u010443710/article/details/103910077个人再写一写个人理解的原子操作细节内容首先来看下独占式访问指令的介绍:独占式访问(local monitor和global monitor) cpu支持独占式的内存访问指令LDEX32.W和STEX32.W。用户可以使用这...原创 2020-01-09 16:40:35 · 929 阅读 · 0 评论 -
linux应用程序 printf 控制台有显示,但无法通过>输出到文件
通常执行应用程序可以通过在命令后加上>log.txt 将程序打印输出到文件中。最近遇到一个问题,写了一个应用程序在串口命令行中输出正常,重定向到文件中就没有内容了。原因:printf是一个行缓冲函数,并不会直接输出到接口。 板子串口缓冲比文件缓冲小很多,所以很快会刷到串口命令行。 但是输出到文件一般超过4K才会刷缓冲。解决办法:及时调用fflush(stdout); 将...原创 2020-01-09 10:02:46 · 1637 阅读 · 1 评论 -
字节对齐不同造成结构体成员赋值失败
我们知道,C编译器在编译32位机目标代码时,默认将变量存储的地址按照4字节进行对齐。在使用结构体时,由于字节对齐的原因可能会造成存储空间的浪费例如:struct AA{ char a; int b; char c; }aa结果,sizeof(aa)=12。成员a与b之间空出了3个空字节,成员c也后也空出了3个字节。这个时候虽然内存空原创 2016-11-23 20:15:51 · 3206 阅读 · 0 评论