随笔分类 -  ARM

1 2 3 下一页

(笔记)GPIO基本原理与寄存器配置(STM32篇)
摘要:背景:因ST系列MCU在行业中应用最广,故本文以ST的MCU的GPIO进行详细讲解每一种功能应用类型的使用。 一、STM32F10X 引脚说明 STM32F103ZET6一共有7组IO口,每组IO口有16个IO,分别为GPIOA~GPIOG,每组分别为PA0到PA16,STM32F103RCT6一个 阅读全文

posted @ 2021-04-18 12:01 tdyizhen1314 阅读(3935) 评论(0) 推荐(0) 编辑

(笔记)一场由SD卡引发的灾难
摘要:一场由SD卡引发的灾难 注:此文章转自“https://user.qzone.qq.com/63915185/blog/1512562541”。 Flash里面的数据在使用过程中莫名改变或不翼而飞?程序丢失可能无法正常运行,从而造成整个系统崩溃。Flash,说好的数据去哪了? 今天,笔者要为大家分享 阅读全文

posted @ 2017-12-14 12:37 tdyizhen1314 阅读(2982) 评论(0) 推荐(1) 编辑

(笔记)Linux下的解压、压缩命令集合
摘要:01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)02-.gz格式解压1:[*******]$ gunzip FileName.gz解压2:[***... 阅读全文

posted @ 2015-12-22 08:30 tdyizhen1314 阅读(270) 评论(0) 推荐(0) 编辑

(原创)Linux下一定要4字节地址对齐操作
摘要:Linux下一定要4字节地址对齐操作:“血”的教训,一定不要忘记!!! 当然不仅仅是Linux下,所有的32位机都应该如此!!! 阅读全文

posted @ 2015-11-14 21:13 tdyizhen1314 阅读(908) 评论(0) 推荐(0) 编辑

(原创)Linux下的floating point exception错误解析
摘要:很多人也许都碰到过这样的错误:linux下程序刚一运行就报错:Floating point exception。其实这个问题很容易排查,绝大多数情况情况都是逻辑的问题,如:c = a/b;或 c = a%b;如果这里面的b不小心是0,则一定会出现Floating point exception的问题... 阅读全文

posted @ 2015-11-14 08:26 tdyizhen1314 阅读(27989) 评论(0) 推荐(1) 编辑

(笔记)Linux下检测网卡与网线连接状态
摘要:http://blog.chinaunix.net/space.php?uid=20357359&do=blog&cuid=1798479Linux下检测网卡与网线连接状态,使用ioctl向socket发送SIOCETHTOOL命令字。 #include #include #i... 阅读全文

posted @ 2015-11-10 12:08 tdyizhen1314 阅读(1568) 评论(0) 推荐(0) 编辑

(笔记)Linux下system()函数的深度理解(整理)
摘要:注:从其它地方转的非常好的一篇文章,值得深究!这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为是其他的代码影响到这个,或是内核驱动文件系统什么的异常... 阅读全文

posted @ 2015-10-22 19:37 tdyizhen1314 阅读(17080) 评论(0) 推荐(1) 编辑

(笔记)Linux下的ioctl()函数详解
摘要:我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通... 阅读全文

posted @ 2015-10-21 08:10 tdyizhen1314 阅读(88883) 评论(6) 推荐(4) 编辑

(笔记)Linux下的静态库和动态库使用详解
摘要:库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。一、静态库和动态库的区别1. 静态函数库这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部... 阅读全文

posted @ 2015-09-27 07:59 tdyizhen1314 阅读(806) 评论(0) 推荐(0) 编辑

(笔记)Linux下的简单CGI编程
摘要:为什么要进行CGI编程? 在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理,或者是把它们保存起来,或者是按内容进行一些查询,或者是一些别的什么。没有了CGI,WEB的世界就完全失去了它的交... 阅读全文

posted @ 2015-05-13 12:37 tdyizhen1314 阅读(2904) 评论(0) 推荐(0) 编辑

(笔记)Linux下的CGI和BOA使用期间遇到的问题汇总
摘要:前段时间在做C/S模式下的视频监控,这段时间是B/S模式下的。期间遇到了不少问题,有些问题一卡就是几天,有些问题的解决办法在办法在网上也不是很好找,所以还有些问题虽然得到了临时解决,但是其原理现在我本人也还搞的不是很清楚,在这里也希望有大家的指点交流。现在我就将这些错误稍作总结,可供大家学习借鉴,同... 阅读全文

posted @ 2015-05-11 16:28 tdyizhen1314 阅读(4086) 评论(0) 推荐(0) 编辑

(笔记)Linux下怎么安装tar.gz的软件
摘要:一般这种的就是源代码。先下载下来。然后cd到下载目录。用tar xvfz XXX.tar.gz的解压。然后进入解压后的目录。 打./configure生成配置文件。打make对源代码进行编译,生成库和可执行文件。最后打make install进行安装。 在最后一步可能会复制文件进系统目录,所以可能需... 阅读全文

posted @ 2015-05-11 10:03 tdyizhen1314 阅读(1592) 评论(0) 推荐(0) 编辑

(笔记)boa服务器make错误
摘要:编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。一开始make错误1:debia... 阅读全文

posted @ 2015-05-11 09:57 tdyizhen1314 阅读(498) 评论(0) 推荐(0) 编辑

(笔记)Linux延时及时间函数总结
摘要:一、基础知识1、时间类型。Linux下常用的时间类型有4个:time_t,struct timeval,struct timespec,struct tm。(1)time_t是一个长整型,一般用来表示用1970年以来的秒数。(2)Struct timeval有两个成员,一个是秒,一个是微妙。stru... 阅读全文

posted @ 2015-03-29 21:17 tdyizhen1314 阅读(24682) 评论(0) 推荐(0) 编辑

(笔记)Linux服务器中判断客户端socket断开连接的方法
摘要:下面来罗列一下判断远端已经断开的方法:(转自http://blog.csdn.net/god2469/article/details/8801356)法一:当recv()返回值小于等于0时,socket连接断开。但是还需要判断 errno是否等于 EINTR,如果errno == EINTR 则说明... 阅读全文

posted @ 2015-03-09 20:33 tdyizhen1314 阅读(11481) 评论(0) 推荐(1) 编辑

(原创)LM3S片内FLASH编程 [AN01237][Programming_the_OnChip_Flash_Memory_in_a_Stellaris_Microcontroller]
摘要:在对片内FLASH编程时,查看芯片数据手册上面说只需配置FMA、FMD、FMC三个寄存器就行了,可是忽略了很重要的一点,这一点在AN01237[ProgrammingtheOn-ChipFlashMemoryinaStellarisMicrocontroller]笔记上面说明了,就是一定要配置FLASH操作的时钟频率USECRL以确保正确的时序。最重要的一点就是:USECRL寄存器,这个是我当年在IAP在线升级时的备注。附AN01237:http://files.cnblogs.com/tdyizhen1314/%5BAN01237%5D%5BProgramming_the_OnChip_Fl 阅读全文

posted @ 2012-10-16 20:33 tdyizhen1314 阅读(1105) 评论(0) 推荐(0) 编辑

(转)ARM-Thumb 过程调用标准
摘要:寄存器 ATPCS 指定用于特殊用途的寄存器 - 使用寄存器 r0-r3 将参数值传送到函数,并将结果值传出。 可以用 a1-a4 来引用 r0-r3,以使此用法透明。请参阅第 3-9 页的参数传递。在子程序调用之间,可以将 r0-r3 用于任何用途。被调用函数在返回之前不必恢复 r0-r3。 如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。 - 使用寄存器 r4-r11 存放函数的局部变量。 可以用 v1-v8 来引用这些寄存器,以使此用法透明。在 Thumb 状态下,在大多数指令中只有寄存器 r4-r7 可以用于局部变量。 如果被调用函数使用了这些寄存器,它在返回之前必 阅读全文

posted @ 2012-10-08 20:25 tdyizhen1314 阅读(1183) 评论(0) 推荐(0) 编辑

(转)Cortex-M3 (NXP LPC1788)之SDRAM操作
摘要:网上看到了一些关于1788 SDRAM的调试代码,基本上都一样,本人在调试1788 SDRAM过程中,遇到了一些大麻烦,本人使用的的SDRAM芯片为MT48LC16M162. 本人遇到的问题如下:1: 1788芯片硬件仿真初期,调试SDRAM寄存器配置错误,导致1788芯片无法进入仿真状态,只能用Flash Magic才能擦除。2: 1788芯片的SDRAM有一个很重要的寄存器,官方驱动为 LPC_SC->EMCDLYCTL 寄存器的设置,就算你和官方所使用芯片一样,只要电路板有差异,这个寄存器的设置将有可能导致SDRAM在使用过程中出现错误。3: 还有对于时序的设置,这一步相对来说就比 阅读全文

posted @ 2012-09-26 19:40 tdyizhen1314 阅读(9657) 评论(1) 推荐(1) 编辑

(转)Cortex-M3 (NXP LPC1788)之IIS应用--UDA1380进行音频数据播放
摘要:LPC1788发送到I2S总线上的音频数据要通过音频解码芯片才能输出模拟音频信号。开发板上使用的是UDA1380,对它的寄存器的配置可以通过L3总线或者I2C总线进行,这里使用I2C总线进行控制,对于I2C总线的操作可以参考之前I2C的介绍。UDA1380的寄存器主要分成3类,系统控制、插值滤波(interpolation filter)、抽取滤波(decimator filter)。插值滤波和DAC转换有关,用于控制控制声音的输出参数。抽取滤波和ADC有关,用于控制对音频的采样。寄存器的地址和功能如图1所示。 图1:UDA1380寄存器地址和功能 根据图1的红色标记中的内容,可以知道两个滤波 阅读全文

posted @ 2012-09-26 19:24 tdyizhen1314 阅读(4068) 评论(0) 推荐(0) 编辑

(转)Cortex-M3 (NXP LPC1788)之IIS控制器
摘要:I2S总线为数字音频应用提供了一个标准的通信接口。它是一条3线串行总线,包含串行数据SD、字选择WS、串行时钟SCK。LPC1788的I2S接口提供了彼此独立的发送和接收通道,每个通道可以作为主机或从机,还提供了可选的过采样主机时钟输出MCLK。因此发送和接收通道各有四个引脚,对于发送为I2S_TX_CLK、I2S_TX_WS、I2S_TX_SDA、I2S_TX_MCLK。I2S的时序如图1。 图1:I2S时序 从图中可以看出每个串行时钟SCK传送一位音频信号,因此SCK的频率=声道数X采样频率X采样位数。如程序中44.1KHZ采样的16位立体音,对应的SCK频率为2X16X44100HZ。W 阅读全文

posted @ 2012-09-26 19:22 tdyizhen1314 阅读(1013) 评论(0) 推荐(0) 编辑

1 2 3 下一页

导航