企业库 微信资讯

MCU知识小结

至秦单片机    2015/3/9  


1. Brown-Out Reset

掉电复位,或电源电压跌落复位, 当输入电压VCC跌到某一门限时芯片复位

The MCU is reset when the supply voltage VCC is below the Brown-Out Reset threshold voltage

and the Brown-out Detector is enabled. The Brown-out threshold voltage is programmable.

2. Totem-pole

推拉输出电路

3. IAR调试出现The stack plug-in failed to set a breakpoint on "main". The Stack window will not be able to display stack contents. (You can change this setting in the Tool>Options dialog box.)的警告,程序能烧进去,但不能调试。

需要进行如下配置:

iar->options->linker->output->format;

选择 Debug information for c-SPY选项

4. newlib

newlib是一个用于嵌入式系统的开放源代码的C语言程序库,由libc和libm两个库组成,特点是轻量级,速度快,可移植到很多CPU结构上。newlib实现了许多复杂的功能,包括字符串支持,浮点运算,内存分配(如malloc)和I/O流函数(printf,fprinf()等等)。其中libc提供了c 语言库的实现,而libm提供了浮点运算支持。

5. Open-drain

open-drain是漏极开路输出的意思,相当于集电极开路(open-collector)输出,即ttl中的集电极开路(oc)输出。

一般用于线或、线与,也有的用于电流驱动。

open-drain是对mos管而言,open-collector是对双极型管而言,在用法上没啥区别。

开漏形式的电路有以下几个特点:

(1). 利用外部电路的驱动能力,减少IC内部的驱动。 或驱动比芯片电源电压高的负载.

(2).可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻。接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。如果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。

(3). 可以利用改变上拉电源的电压,改变传输电平。例如加上上拉电阻就可以提供TTL/CMOS电平输出等。

(4). 开漏Pin不连接外部的上拉电阻,则只能输出低电平。一般来说,开漏是用来连接不同电平的器件,匹配电平用的。

6.C语言中将xx地址转换为函数指针以及跳转到内存指定位置处执行的技巧

要对xx地址0x100000赋值,我们可以用

* (unsigned int * ) 0x100000 = 1234;

那么要是想让程序跳转到xx地址是0x100000去执行,应该怎么做?

*((void (*)( ))0x100000 ) ( );

首先要将0x100000强制转换成函数指针,即:

(void (*)())0x100000

然后再调用它:

*((void (*)())0x100000)();

用typedef可以看得更直观些:

typedef void(*)() voidFuncPtr;

*((voidFuncPtr)0x100000)();

又如

如果用 C 语言,可以像下列示例代码这样来调用内核:

void (*theKernel)(int zero, int arch, u32 params_addr)

= (void (*)(int, int, u32))KERNEL_RAM_BASE;

……

theKernel(0, ARCH_NUMBER, (u32) kernel_params_start);

KERNEL_RAM_BASE 是内核在系统内存中的第一条指令的地址。

7. On Die Termination

ODT(On-die Termination,片内终结器)是内建核心的终结电阻器。

使用DDR SDRAM的主板上面为了防止数据线终端反射信号需要大量的终结电阻,它大大增加了主板的制造成本。实际上,不同的内存模组对终结电路的要求是不一样的,终结电阻的大小决定了数据线的信号比和反射率。因此主板上的终结电阻并不能非常好地匹配内存模组,还会在一定程度上影响信号品质。DDRII内建了终结电阻器,为DDRII带来了两个好处,一个是去掉了主板上的终结电阻器使主板的成本降低,也使PCB板的设计更加容易。第二个好处是终结电阻器可以和内存颗粒的"特性"相符,使DRAM处于xx状态。



技术支持:免费b2b网站   [免责申明]   [举报]    立即注册发布信息