摘要:
任意一款单板,我们了解其时钟都是通过时钟树来的。 这里没有全部截完,只是讲解时钟来源,OSC代表晶振,这说明我们的时钟可以来至晶振OSC也可以来至外部输入EXTCLK,这是通过OM选择器来完成的。 2440的时钟,分为主时钟和usb时钟,先说主时钟,usb时钟之后用到的时候再说。 要如何配置FCLK 阅读全文
摘要:
在上一篇进行了汇编语言的编写之后,我们采用C语言来编写程序,毕竟C语言才是我们使用最多的语言。 仅仅是点亮LED灯显然太过于简单,我们需要分析最后的反汇编,了解函数调用栈,深入C语言骨髓去分析代码,并且自己编写C语言的库函数版本,方便以后开发,同时也是对自己C语言封装能力的锻炼。 先贴韦老大的代码: 阅读全文
摘要:
在几个月前看2440视频的时候,发现太多知识欠缺,购买开发板期间补习makefile,linux,arm汇编和arm构架之后,现在重新开始学习。 先看板子LED硬件连接图: 可以看到LED 1,2,4连接GPF4,5,6。故,查看芯片手册GPF IO口: 有寄存器地址,有对应位的功能,剩下的就是我们 阅读全文
摘要:
交叉编译器是嵌入式开发的必要工具,但是由于目前大多数人使用64位ubuntu,在照着很多教程做的时候,就会失败,失败原因是64位ubuntu需要额外安装32位的兼容包。以arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2这个压缩文件为例子。执行解压命令:sudo tar 阅读全文
摘要:
MDK 的编译过程及文件类型全解 (在arm9的开发中,这些东西都是我们自己搞定的,但是在windows上,IDE帮我们做好了,了解这些对深入开发是很有帮助的,在有arm9开发的基础上,下面的东西很容易理解,如果看不懂,证明你还没有入门。下面的是从world复制过来的,格式和博客不太兼容,所有开始以 阅读全文
摘要:
通常,现在的操作系统都支持多任务,意味着操作系统(给用户)造成了一种假象,(让用 户觉得) 它同时能够做多件事情,事实上,它是快速地轮换执行这些任务的。Linux 内核通过使用进程,来管理多任务。通过进程,Linux 安排不同的程序等待使用 CPU。有时候,计算机变得呆滞,运行缓慢,或者一个应用程序 阅读全文
摘要:
Unix 传统中的操作系统不同于那些 MS-DOS 传统中的系统,区别在于它们不仅是多任务 系统,而且也是多用户系统。这到底意味着什么?它意味着多个用户可以在同一时间使用同一台计算机。然而一个典型的计算机可能只有一个键盘和一个监视器,但是它仍然可以被多个用户使用。例如,如果一台计算机连接到一个网络或 阅读全文
摘要:
我们知道goto语句是不能跳过函数的,但是在我么C语言的应用中,在不使用汇编的情况下,遇到需要跳出深层循环比如检错机制的时候,有确实想要跨函数跳转,有没有上面办法可以做到呢? 这就是今天要讲的两个库函数,setjmp和longjmp. 先看例子: 通过上面的测试代码和输出数据,我们可以看到longj 阅读全文
摘要:
开玩笑地说,我经常把 Unix 描述为“这个操作系统是为喜欢敲键盘的人们服务的。”当 然,Unix 甚至还有一个命令行,这个事实是个确凿的证据,证明了我所说的话。但是命令行用户不喜欢敲入那么多字。那又为什么如此多的命令会有这样简短的命令名,像 cp,ls,mv,和rm?事实上,命令行最为珍视的目标之 阅读全文
摘要:
goto语句是一种无条件转移语句,goto 语句的使用格式为: goto 语句标号;其中标号是一个有效的标识符,这个标识符加上一个“:”(冒号)一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。另外标号必须与goto语句同处于一个函数中,但可以不在一个循环层中。通常go 阅读全文
摘要:
今天太晚了,有时间分析。。。 阅读全文
摘要:
(字符) 展开每一次你输入一个命令,然后按下 enter 键,在 bash 执行你的命令之前, bash 会对输入的字符完成几个步骤处理。我们已经知道两三个案例,怎样一个简单的字符序列,例如 “*”, 对shell 来说,有很多的涵义。使这个发生的过程叫做(字符)展开。通过展开,你输入的字符,在 s 阅读全文
摘要:
在正则表达式里面,我们使用元字符 [ 和 ] 来定义一个字符集合。[ 和 ]不匹配任何字符,他们只负责定义一个字符集合。 [0123456789]和 [0-9]等价 [^1]表示不匹配1,[^1-9]:表示不匹配1到9数字之间的任何一个包含1和9. 阅读全文
摘要:
在说低功耗之前,先要明白一个东西,那就是stm32中的事件和中断。 事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断。在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件,但一个事件不一定对应一个中断。 当外部有信号输入时,如果通过了事件屏蔽寄存器,那么事件信号就进入脉 阅读全文
摘要:
这个函数真的很强大,这篇随笔也将一直更新一些总结,直到涵盖大多数应用: eg1: 今天公司项目中从云端获取了一段字符串 "+CBC: 0,90,4090" 我想获取其中的数字0,90,4090.我们当然可以写一个函数,判断,并且逐一取值,然后再糅合成想要的数据,但是这样也真的太麻烦了,于是sscan 阅读全文