ARM入门学习之战舰

来源:互联网 发布:柳青 乳腺癌 知乎 编辑:程序博客网 时间:2024/04/28 10:26

1,ARM Cortex-M3与ARM7异同:

     (1)是一种基于ARM V7架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线;ARM7是冯诺伊曼结构 冯诺伊曼结构下,数据和指令共用一条总线。

      (2)ARM7可以使用ARM和Thumb两种指令集,而 Cortex-M3只支持最新的 Thumb-2指令集。

2,SWD 和传统的调试方式区别

SWD(Serial Wire Debug)串行线调试

    1. SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推荐大家使用这个模式。

    2. 在大家 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚。

    3. 在大家板子的体积有限的时候推荐使用 SWD 模式, 它需要的引脚少, 当然需要的 PCB 空间就小啦! 比如你可以选择一个很小的 2.54 间距的 5 芯端子做仿真接口。SWD 将 5 针 JTAG 端口替换为时钟 + 单个双向数据针(2针),

3,

ARM Cortex-M3

是一种基于

ARM V7

架构的最新

ARM

嵌入式内核,

它采用哈佛结构,

使用分离的指令和数据总线;

ARM7

是冯诺伊曼结构

 

冯诺伊曼结构下,数据和指令共用一

条总线

 

从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔

定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。

ARM Cortex-M3

是一种基于

ARM V7

架构的最新

ARM

嵌入式内核,

它采用哈佛结构,

使用分离的指令和数据总线;

ARM7

是冯诺伊曼结构

 

冯诺伊曼结构下,数据和指令共用一

条总线

 

从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔

定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。

ARM Cortex-M3

是一种基于

ARM V7

架构的最新

ARM

嵌入式内核,

它采用哈佛结构,

使用分离的指令和数据总线;

ARM7

是冯诺伊曼结构

 

冯诺伊曼结构下,数据和指令共用一

条总线

 

从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔

定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。


4,快捷键:TAB键可把代码块整体后移,SHIFT+TAB整体前移。

      我们利用 Go to Definition/ Reference 看完函数/变量的定义/申明后,又想返回之前的代码继续看,此时我们可以通过 IDE 上的 按钮(Back to previous position)快速的返回。之前的位置,这个按钮非常好用!

      在 MDK 里面查找替换的快捷键是“CTRL+H”,

     跨文件查找功能,先双击你要找的函数/变量名(这里我们还是以系统时钟初始化函数:Stm32_Clock_Init 为例),然后再点击 IDE 上面的 ,

5,调试:

复位:其功能等同于硬件上按复位按钮。相当于实现了一次硬复位。按下该按钮之后,代
码会重新从头开始执行。
执行到断点处:该按钮用来快速执行到断点处,有时候你并不需要观看每步是怎么执行的,
而是想快速的执行到程序的某个地方看结果,这个按钮就可以实现这样的功能,前提是你在查
看的地方设置了断点。
挂起:此按钮在程序一直执行的时候会变为有效,通过按该按钮,就可以使程序停止下来,
进入到单步调试状态。
执行进去:该按钮用来实现执行到某个函数里面去的功能,在没有函数的情况下,是等同
于执行过去按钮的。
执行过去:在碰到有函数的地方,通过该按钮就可以单步执行过这个函数,而不进入这个
函数单步执行。
执行出去:该按钮是在进入了函数单步调试的时候,有时候你可能不必再执行该函数的剩
余部分了,通过该按钮就直接一步执行完函数余下的部分,并跳出函数,回到函数被调用的位
置。
执行到光标处:该按钮可以迅速的使程序运行到光标处,其实是挺像执行到断点处按钮功
能,但是两者是有区别的,断点可以有多个,但是光标所在处只有一个。
汇编窗口:通过该按钮,就可以查看汇编代码,这对分析程序很有用。
观看变量/堆栈窗口:该按钮按下,会弹出一个显示变量的窗口,在里面可以查看各种你想
要看的变量值,也是很常用的一个调试窗口。
串口打印窗口:该按钮按下,会弹出一个类似串口调试助手界面的窗口,用来显示从串口
打印出来的内容。
内存查看窗口:该按钮按下,会弹出一个内存查看窗口,可以在里面输入你要查看的内存
地址,然后观察这一片内存的变化情况。是很常用的一个调试窗口
性能分析窗口:按下该按钮,会弹出一个观看各个函数执行时间和所占百分比的窗口,用
来分析函数的性能是比较有用的。
逻辑分析窗口:按下该按钮会弹出一个逻辑分析窗口,通过 SETUP 按钮新建一些 IO 口,
就可以观察这些 IO 口的电平变化情况,以多种形式显示出来,比较直观。
Debug 工具条上的其他几个按钮用的比较少,我们这里就不介绍了。以上介绍的是比较常
用的,当然也不是每次都用得着这么多,具体看你程序调试的时候有没有必要观看这些东西,
来决定要不要看。

0 0
原创粉丝点击