1. ARMCORTEX-M0 核
Q1: 从中断产生到ISR的第一条指令时间是多少?
A1: 共 24 时钟周期.
Q2: HCLK是什么?
A2: 指AHB 总线时钟.
Q3: APB 仲裁是什么?
A3: 为了裁定APB 外设的优先级。
Q4: AHB 、 APB 和AHB-Lite分别是什么?
A4: AHB 是指先进高级总线(AdvancedHigh-Performance Bus),APB 是指先进外设总线( Advanced Peripheral Bus),而 AHB-Lite 是全功能的 AHB 的一个简化版本,更详细的描述请查看 ARM® 主页 http://infocenter.arm.com/help/index.jsp。
Q5: 如果查明硬件异常中断?
A5: 请添加下面代码并设置断点在__NOP上面。然后用户在发生硬件异常后进行单步操作去查明硬件异常后产生的结果。 void HardFault_Handler(void)
{
__NOP();
} |
Q6: Cortex™-M0 的指令周期是指什么?
A6: 请查阅ARM® 主页的 Cortex™ -M0 技术参考文档,连接为: http://infocenter.arm.com/help/index.jsp。
Q7: 是否存在器件唯一ID(CPUID)? 如果用户加密芯片需要用到器件唯一ID?
A7: 不存在,用户可以在APROM的特定地址中写入一个数字。
Q8: NVIC是什么? 它支持多少级优先级?
A8: NVIC 嵌套中断向量控制器,它支持4级优先级。
2. 系统管理
Q1: NUC100 家族可以用IO口支持外部SRAM吗??
A1: 有部分支持,请查看NuMicro™家族的选型手册器件是否支持外部总线接口(EBI)。
Q2: 如何进入睡眠(待机模式) 和深度睡眠 (下电模式)?
A2: 请查看如下的指令进入睡眠模式和下电模式: | | UNLOCKREG();
SCB->SCR = 4;
SYSCLK->PWRCON.WINT_EN = 0;
SYSCLK->PWRCON.PD_WAIT_CPU = 1;
SYSCLK->PWRCON.PWR_DOWN = 0;
LOCKREG();
__WFI(); | UNLOCKREG();
SCB->SCR = 4;
SYSCLK->PWRCON.WINT_EN = 0;
SYSCLK->PWRCON.PD_WAIT_CPU = 1;
SYSCLK->PWRCON.PWR_DOWN = 1;
LOCKREG();
__WFI(); |
Q3: 如何从睡眠模式唤醒CPU?
A3: 所有的中断都可以唤醒CPU的睡眠模式。
Q4: 如何从尝试睡眠模式唤醒CPU?
A4: 仅仅用下面的中断去唤醒CPU 的尝试睡眠模式:
GPIO, USB, UART (RTS 脚), WDT, CAN, ACMP, BOD 和RTC.
Q5: 如何配置外设寄存器?
A5: 首先启用外设时钟然后再设置相关的外设寄存器。
Q6: 在VDD =2.5V 时,用外部12 MHz晶体和内部22 MHz的RC振荡器的唤醒时间是多少?
A6: 外部12 MHz 晶体的唤醒时间是2ms ,而且内部22 MHz RC振荡器的却为 40us。
3. 时钟控制器 Q1: NuMicro™ 家族是否提供可以监控内部时钟的时钟输出?
A1: 部分支持,要详细看看是什么器件。
Q2:NuMicro™ 家族是否提供标志位去监控内部时钟是否稳定?
A2: 新版本的芯片支持,请查看技术参考手册了解更详细内容。
Q3: 内置22 MHz RC振荡器能否做为PLL的时钟源来产生48 MHz 用于 USB 控制器?
A3: 不推荐,因为内部 22 MHz RC振荡器的精度在PLL的输出上有不同。
Q4: 如何设置USB = 48 MHz, HCLK = 32 MHz 用于 CPU 而SPICLK = 16 MHz 用于SPI 主模式?
A4:
使能 PLL 和设置PLL输出= 96 MHz。
USB = PLL 输出/ 2 = 48MHz。
HCLK = PLL 输出 / 3 = 32MHz。
SPICLK = HCLK / 2 = 16 MHz。
Q5:何种外设可以选择特定的时钟源?
A5: 看门狗定时器, ADC 转换器, 定时器, UART, CAN, PWM和 I2S。
Q6: 那个时钟可以在尝试睡眠模式(下电模式)下依然工作?
A6: 外部32 KHz 晶体和内部10 KHz RC振荡器。
4. USB从接口 Q1:所有的NuMicro™家族都提供USB支持吗?
A1: 不,仅仅NUC100系列能提USB功能,而M051 系列不提供USB功能。
Q2: USB HID总是使用中断?
A2: 是。
Q3: 如何禁用 USB 1.5K上拉电阻?
A3: 禁用USB 寄存器的相关控制位。
Q4: 新唐提供那些USB例子?
A4: HID,HID传输, UAC(USB音频类),UVC, 虚拟COM口,UDC (USB 器件控制),HID IO。
Q5: USB提供什么传输类型?
A5: 控制,中断,并发,同步。
Q6: NUC100系列的USB器件接口提供多少个端点?
A6:6个。
Q7: NUC100 系列提供什么类型的USB接口?
A7:仅仅提供USB从机接口(USB2.0全速), 但是新唐以后会推出包括USB 主机和USB从机(USB2.0高速)的器件。
Q8: NuMicro ™家族通过了USB认证没有?
A8: 是的,请查看新唐NuMicro™家族主页: www.nuvoton.com/NuMicro。
Q9: Nuvoton 能给客户提供VID和 PID 吗?
A9: 不,客户需要为自己的USB应用向USB组织申请VID 和PID。
5. 通用 I/O Q1: NuMicro™ 家族支持多少个外部中断源?
A1: 所有GPIO都能产生外部中断
Q2: GPIO 反转需要多少个机器周期?
A2: 在NUC100中密度系列需要11 个机器周期,而NUC100 低密度系列和M051 系列只需要7 个机器周期。
Q3: GPIO 复位后的默认状态是什么?
A3: 带弱上拉(>100K)的准双向模式。
Q4: 是不是所有的GPIO都有复用功能?
A4: 不, 但大部分的GPIO都有复用功能。请查看器件的数据手册或者技术参考文档有关脚位描述部分。
Q5: 是不是所有GPIO都能做为唤醒CPU的中断源?
A5: 是,所有的GPIO 脚都能设置成唤醒CPU的中断源。
6. 12C串行接口控制器 (主/从)
Q1: 只有一字节的 I2C地址? 为什么24C06 EEPROM的 I2C 时序地址只有一个字节?
A1: 用户弄错了I2C总线的器件地址和EEPROM 内部存储地址。
Q2: 如何处理 I2C 总线在从模式中的死锁?
A2: 通过软件去复位I2C外设。
Q3: I2C总线的外部上拉电阻大小是多少?
A3: 请对I2C总线添加 4.7 K的上拉电阻。
7. PWM 产生和捕获定时器 Q1: PWM 是什么?它的主要功能是什么?
A1: PWM 是指 脉宽调制模块,它能产生矩形波的输出。
Q2:NuMicro™ 家族的芯片能支持多少个PWM通道?
A2: 每个NuMicro™ 家族的芯片能提供高达8个PWM 通道,但具体的PWM数量要根据不同的具体型号。
Q3: PWM 发生器的要点是什么?
A3: PWM主要的要点是指输出小型的频率和占空比。
Q4: PWM 发生器用何种时钟源?
A4: PWM 发生器使用系统时钟HCLK,内部 22 MHz RC振荡器, 外部12 MHz 和 32 KHz (仅仅NUC100 系列) 晶体做时钟源。
Q5: PWM发生器的预分频器的精度,定时器和分频器是多少?
A5: 预分频器是8-位的, 16-向下计数定时器,和1, 1/2, 1/4, 1/8, 1/16 分频器。
Q6:如何产生PWM 波形的频率和占空比?
A6: PWM 频率 = PWM 时钟/ ( ( 预分频值+1) * 固定分频 * (CNR+1));PWM占空比 = (CMR+1) / (CNR+1). (CNR: 16-bit 计数寄存器值, CMR: 16-bit 比较寄存器值).
Q7:互补PWM 是什么?那些PWM 通道可以组合成互补PWM r?
A7: 互补PWM 是指一对能输出2个互补波形的PWM 通道。例如,PWM通道0 (PWM0)和通道1 (PWM1) 能组合成第一对互补PWM,PWM 通道 2 (PWM2) 通道3 (PWM3) 组成第二对互补PWM等等。
Q8: 什么是死区产生及它的特点是什么?
A8: 死区主要设计为功率器件尤其是马达驱动系统的保护,为了避免MOSFET对管驱动中的上管和下管同时导通。死区功能能够在互补的PWM输出波形脉冲的上升沿产生一个可编程的时间空缺延时。
Q9: 如何去清除PWM硬件产生了中断事件标志(PWMIFx)?
A9: 在每个PWM 周期的结束, PWM 中断事件标志 (PWMIFx) 被硬件置位,此时也代表16-位 向下PWM-定时器计数到了0,这个标志需要软件写1才能清除掉。
Q10:输入捕获通道的主要功能是什么?
A10: 捕获通道共用PWM发生器的硬件,它用来测量输入波形的高脉冲的宽度和低脉冲的宽度。
Q11:NuMicro™ 家族的芯片能提供多少路捕获通道?
A11: 因为输入捕获通道共享PWM发生器的硬件结构, 所以NuMicro™ 家族的芯片同样有高达8个输入捕获通道, 但具体有多少个通道要根据具体的器件型号去决定。
Q12:捕获输入的关键点是什么?
A12: 捕获输入的关键点是测量输入波形的脉冲宽度。用户需要话音选择捕获通道的时钟源,因为它影响着测量输入脉冲宽度的精度和宽度。
Q13: 捕获中断事件标志(CAPIFx) 被硬件置位后如何清除它?
A13: 如果使能了CFL_IE = 1(下降沿锁定捕获中断使能) 或者CRL_IE = 1 (上升沿锁定捕获中断使能)的条件, 在输入波形的边沿(任何下降或上升沿)转变时,捕获中断事件标志 (CAPIFx) 将被硬件置位。这个标志需要软件写1才能清除掉。
Q14: PWM 控制器支持占空比为常高或者常低吗?
A14: 不,在整个PWM周期中最少要有一个脉冲宽度的高或者或者低。
Q15: 为什么两个不同的PWM定时器 (例如 PWM0 和PWM1) 在用户应用驱动库去配置任何一个PWM定时器的寄存器时能够同时影响另外一个呢?
A15: 因为两个PWM定时器采用相同的预分频器,所以用户利用驱动库去编程设置其中一个PWM定时器的寄存器时,它将会影响另外一个。
Q16: 系统时钟为50 MHz时捕获输入通道能测量的最大频率是多少?
A16: 大约200 KHz 的频率可以捕获。
Q17:什么时候CNR寄存器能够自动重载进捕获通道的下计数器
A17: 一旦捕获输入中断事件标志(CAPIFx)被硬件置位, CNR 寄存器的值立刻被加载进捕获通道的下计数器。
8. 实时时钟 (RTC)
Q1:NuMicro™ 家族中那一个系列支持RTC控制器?
A1: 仅仅 NUC100 系列提供RTC功能,而 M051 系列不提供。
Q2: RTC模块采用什么时钟源?
A2: RTC 模块的时钟源只能用外部的32KHz 晶体。
Q3: RTC 模块能采用内部10 KHz RC 振荡器做时钟源不?
A3: 不,仅仅外部32KHz 晶体能作为 RTC 时钟源。
Q4: RTC 模块能采用独立的电源不?
A4: 不, RTC模块的电源共用于整个芯片, 一旦用户关闭芯片电源, RTC 模块在再次上电时候会发生出错的。
Q5: RTC 能工作在尝试睡眠模式吗?
A5: 能,它还能唤醒尝试睡眠的CPU。
Q6: RTC模块支持滴答模式和唤醒CPU吗?
A6: 能, RTC 支持滴答模式去唤醒CPU。
9. 串行外设接口 (SPI) 控制器 Q1: NuMicro™ 家族支持多少个SPI模块?
A1: NuMicro™ 家族的芯片支持多达4组SPI模块,但是具体数量要根据不同的型号。
Q2: SPI 模块支持常规的 4-线 SPI 接口吗?
A2: 是的,它支持常规 4-线 SPI 接口,包括串行时钟(SPICLK),从机选择 (SPISS), 主出/从入 (MOSI) 和主入/从出 (MISO)。
Q3: SPI 模块支持通用的SPI 模式 0 ~ 3 吗?
A3: 非常容易配置 SPI 寄存器来实现串行时钟的空闲极性, 发送数据和接收数据的时钟边沿去匹配通常用SPI模式0 ~ 3。
Q4: SPI 模块支持主或者从模式吗??
A4: 是的,它支持主模式和从模式。
Q5:主模式的SPI 控制器提供多少个从机片选择输出脚?
A5: 主模式的每个SPI控制器提供2个从机选择输出脚。
Q6: SPI 控制器的时钟源是什么?
A6: SPI 控制器的源是系统时钟 HCLK。
Q7:在主模式如何产生SPI 串行时钟?
A7: 输出的串行时钟SPICLK =HCLK/(1+DIVIDER[15:0])/2,其中 DIVIDER[15:0] 必须大于等于1。
Q8: 什么是2-位 (2-通道) 传送模式和如何使用它?
A8: 2-位传送模式是指SPI控制器在同一个串行时钟周期的同一个时钟边沿同时发送2-位 数据,并且同时也能够接收2-位数据在相反的时钟边沿上。更详细的说明,请查看SPI 应用笔记(AN1022) 有关2-位的传送模式。
Q9: 2-位传送模式有什么限制吗?
A9: 2-位传送模式仅仅支持单发模式。在 2-位传送模式,寄存器SPI_Tx0 和 SPI_Rx0 影射到通道0 (MISOx0,MOSIx0),但是寄存器 SPI_Tx1和 SPI_Rx1 影射到通道1 (MISOx1,MOSIx1)。
Q10: 什么是单发和并发模式?
A10: 单发模式是指SPI 控制器在每一次传送只传送一个字 (SPI_Tx0 和SPI_Rx0) ,但是在并发模式下每一次传送能传送两个字 (SPI_Tx0/1 和 SPI_Rx0/1) 。 并发模式和单发模式能由Tx_NUM 寄存器设置。
Q11: 一次传送能够发送多少位数据?
A11: 通过设置Tx_BIT_LEN寄存器的值, 能够配置传送的字的位长度从1 to 32 位。每次发送的单发模式的数据的最大位长是32位,但是在并发模式下是64 位。
Q12: 什么是从机选择电平?
A12: 通过设置SS_LVL 寄存器去确定从机选择电平。
Q13: 在主模式下的自动从机选择是指什么?
A13: 意思是SPI 控制器的输出电平 (根据SS_LVL) 在用户发起SPI去传送数据时在同一个串行时钟下去自动选择从机。
Q14:用户需要手动控制从机选择是什么情况?并且如何控制它?
A14: 这个依赖片外的从机设备, 如果从机器件仅仅需要在大量数据传送前通过一个从机选择电平(由SS_LVL 寄存器决定)去启动一次传送。那么就需要在数据传送前设置SSR[0] (对SPISSx0 输出脚) 或者SSR[1] (对SPISSx1 输出脚) 去使能从机选择的输出和在数据传送完成后清除SSR[0] 或者 SSR[1] 去禁用从机选择的输出。
Q15: SPI 控制器支持PDMA功能吗?
A15: 是的,它支持利用 PDMA 通道来实现SPI接口的数据发送和接收而不浪费 CPU 的资源。但不是所有的 NuMicro ™ 家族芯片都能提供PDMA功能,根据不同的器件型号确定。
Q16: SPI 控制器支持 FIFO 模式吗?
A16: 是的,它支持FIFO 模式对数据连续不断的发送和接收。但并不是所有 NuMicro™ 家族的芯片都支持SPI口的FIFO 模式。要根据不同的型号。
Q17: SPI 控制器能够连续不断的高速进行发送/接收 数据的传送吗?
A17: 可以,可以使用器件上存在的FIFO 模式或者 PDMA 功能。
Q18:如何使用SPI 控制器的FIFO模式?
A18: 请参考SPI 应用笔记和使用FIFO 模式的例程。
Q19:如何使用SPI 控制器的PDMA功能?
A19: 请参考SPI 应用笔记和使用PDMA功能的例程。
Q20: 如何连续发送2 字节的数据?
A20: 可以设置位域Tx_BIT_LEN= 0x10 (16-位 长度) 和Tx_NUM = 0x0 (单模式),或者可以设置位域 Tx_BIT_LEN = 0x8 (8-位长度) 和Tx_NUM = 0x1 (并发模式)连续发送2个字节的数据。
Q21: SPI 的DIVIDER 寄存器能配置成 0吗 ?
A21: 不推荐, DIVIDER的值必须大于等于1。
Q22:在主模式或者从模式SPICLK的最大频率是多少?
A22: SPI主模式的SPICLK频率是20 MHz (NUC122系列能到30 MHz),但是从模式是10 MHz。
Q23: 为什么SPI的主模式能够驱动高达8个从器件 ?
A23: NuMicro™家族的芯片高达4个SPI控制器。而且每个 SPI 控制器能驱动达到2个SPI 从设备。
Q24: SPI支持3-线模式吗??
A24: 支持,请查看 SPI 应用笔记和 3-线 SPI 应用的例程。
10. 定时控制器 Q1: NuMirco™家族有多少个定时器?
A1: NuMicro™家族的芯片有高达4个定时器。但也依据不同的器件型号。 用户也可以使用 Systick滴答定时器和PWM 定时器(在使能 PWM 定时器并禁用输出功能的情况下)作为定时器。
Q2:定时器的时钟源都有什么?用户可以独立地为每个定时器选择这些时钟源不?
A2: 定时器的时钟源分别有系统时钟HCLK,内置22 MHzRC振荡,外置12MHz 和32KHz (仅仅NUC100系列)晶体。可以,通过设置CLKSEL1寄存器可以为每个定时器选择不同的时钟源。
Q3: 定时器模块中预分频器的精度和定时计数吕在是精度是什么?
A3: 定时器中有8-位 预分频器和24-位向上计数定时器。
Q4: 如何产生周期定时器?
A4: 定时输入周期= (输入时钟源周期)* (8-位 预分频值+ 1) *(24-位TCMP);(其中TCMP:定时比较寄存器)。
Q5: 定时器都有什么操作模式?
A5: 定时器有单次模式,周期模式和连续模式。
Q6: 什么是定时器的单次模式?
A6: 单次模式是指当24-位向上计数器的计数值与TCMP(定时比较寄存器)设置的值相匹配时,定时器将停止计数。此时,定时中断事件标志(TIF)将被硬件立刻置位。
Q7: 什么是定时器的周期模式?
A7: 周期模式是指当每次24-位向上计数器的计数值与TCMP(定时比较寄存器)设置的值相匹配时,定时器将复位这个24-位 定时计数器并从0开始重新计数。此时,定时中断事件标志(TIF)将被硬件立刻置位。
Q8: 什么时定时器的连续模式?
A8: 连续模式是指定时器每次在24-位向上计数器的计数值溢出后不断的重新从0开始计数。每次在24-位向上计数器的计数值与TCMP(定时比较寄存器)设置的值相匹配时,定时中断事件标志(TIF)都将被硬件立刻置位。
Q9: 定时器的中断事件标志(TIF)在什么时候被硬件置的? 如何清除它?
A9:一旦24-位 向上计数器的计数值与TCMP(定时比较寄存器)设置的值相匹配时,定时中断事件标志(TIF)将马上被硬件置位。这个标志通过软件写1去清除它。
11. 看门狗定时器 Q1:看门狗定时器(WDT)模块的主要功能是什么?
A1: 看门狗定时器的主要目的是在系统进入到一个未知状态下能够执行一个系统复位。在芯片工作正常的情况下,用户需要在看门狗复位芯片之前及时的清除看门狗计数器。另外,用户也可以使用看门狗WDT中断标志 (WTIF) ,通过设置WTWKE位可以把CPU从深度睡眠状态唤醒。
Q2: 看门狗定时器的时钟源是什么?
A2: 系统时钟HCLK/2048或者内部10KHz RC振荡器都可以做看门狗时钟源。
Q3:看门狗定时器中的WDT计数器有什么定义?
A3: 18-位的向上计数器。
Q4: WDT模块共有多少种溢出时间间隔?
A4: WDT 模块共有8种溢出时间间隔,分别是2^4* T, 2^6 * T, 2^8 * T, 2^10 * T, 2^12 * T, 2^14 * T, 2^16 *T, 和 2^18 *T. (其中T=1/WDT_CLK,WDT_CLK 是WDT的时钟源)。
Q5: WDT 的中断事件标志(WTIF)被硬件置位后如何清除它?
A5:当18-位 向上WDT 计数器按照WTIS寄存器的位域选择的溢出时间溢出后,WDT 模块的中断标志(WTIF) 将被硬件置位,并且这个标志位需要软件去写1才能被清除掉。
Q6:如何产生WDT中断?
A6: 如果用户设置了WDT 模块的中断使能位WTIE后,一旦中断事件标志被硬置位后,WDT 模块将使CPU产生一个WDT中断。
Q7: WDT 模块能把CPU从下电模式唤醒吗?
A7: 是的,如果用户设置了WDT模块的唤醒使能位WTWKE后,一旦中断事件标志(WTIF)被硬件置位后, WDT模块将把CPU从下电模式唤醒。
Q8: WDT 模块能够复位整个芯片吗?从WDT中断事件标志置位后到真正复位有效需要多长时间?
A8: 是的,如果用户设置了WDT模块的复位使能位WTRE后,一旦中断标志(WTIF)被硬件置位后,WDT模块将滞后1024* T个周期(其中T=1/WDT_CLK,WDT_CLK是WDT的时钟源)去复位整个芯片。
12.UART 接口控制器 Q1: 如何用UART 的/CTS 唤醒芯片?
A1: 当 /CTS 输入状态从高变低或者从低变高改变,并且使能了中断后,它将产生唤醒芯片的处理。
Q2: 串口UART 的高速和低速编程方式有什么区别?
A2: 相同的编程方式。高速时的缓冲是64字节,而低速只有16字节。
Q3: LIN 总线的应用领域是什么?
A3: 车载电气应用。
Q4: LIN 总线支持多少个从结点?
A4: LIN规范规定支持16个从节点。
Q5: UART 功能中如何产生一个9位的数据帧?
A5: 用校验位功能去产生第9位数据。
Q6: UART 模块如何使用PDMA功能?
A6: 参考PDMA应用笔记(AN1016)和PDMA 的例程。
13. 现场总线 (CAN 总线)
Q1:错误帧和过载帧有什么区别吗? A1: 除了错误帧的被动错误标志外都是一样的。
14. PS2 从接口控制器
15. I2S 控制器 Q1: I2S 能够处理24-bit数据吗?
A1:能,I2S能处理8/16/24/32-bit 数据。
Q2: 在单声道模式下用是左通道还是右通道接收数据?
A2: 用右通道接收数据。
16. 模/数转换器 (ADC)
Q1: ADC在600 KHz 转换速度的ENOB是多少位?
A1: 10 位。
Q2: ADC模块支持PDMA功能吗?
A2: 是。
Q3: ADC模块如何使用PDMA功能?
A3: 请查看ADC应用笔记(AN1002)。
Q4: ADC模块像NUC501那样支持音频录音功能吗?
A4: 不支持。
Q5: ADC转换模块的工作电压是多少?
A5: 支持3~5V。
Q6: 如何配置AVDD电压?
A6: AVDD 电压将与VDD一样,然而这也会发生偏差, 请查看硬件应用笔记(AN1000)。
Q7:自校准的时序是什么?
A7: 指上电后或者在单端模式和差分模式间切换。
Q8: 带隙电压是多少?
A8: 1.46V.
17. 模拟比较器
18. PDMA 控制器 Q1: PDMA 控制器是什么?
A1: PDMA是指"外设直接内存访问"(PeripheralDirect Memory Access)控制器。
Q2: PDMA 控制器的主要功能是什么?
A2: PDMA 控制器的主要功能是能够在内存和外设间进行数据快速搬移。通过PDMA通道能够把数据从内存搬移其它内存,或者从内存搬移到外设,或者从外设搬移到内存而不耗费CPU的资源。
Q3: PDMA 通道间的数据搬移宽度是多大?
A3: 可以设置为字节,半字,字。
Q4: NuMicro™ 家族的芯片共有多少个PDMA通道?
A4: NUC100 系列共有9个PDMA通道,但是 M051 系列没有。
Q5:在NUC100系列那些外设支持PDMA功能?
A5: 共有SPI, UART 和ADC外设支持,但是否有这些外设要根据不同的型号。
Q6:如果PDMA块操作完成的事件标志被硬件置位了,在外设上同样能否有标志表示数据已经搬送完毕?
A6: 不,PDMA 块操作完成的标志被硬件置位了,仅仅表示PDMA控制器中的数据已经传送完毕。 此后,用户需要去检查外设的状态是否在外设中发送完成与否。
Q7: CPU 访问外设时,PDMA会影响CPU 的性能吗?
A7: 基本不影响CPU的性能, 除非PDMA 和CPU 同时访问 APB总线。
19.FLASH 存储控制器(FMC)
Q1: Flash 存储器都包括什么?
A1: Flash 存储器包括APROM(应用程序code),LDROM (加载/引导code),Data Flash (数据code)和用户配置字(上电设置)。
Q2: APROM的大小是多少?
A2:APROM根据不同的型号分别有8K/16K/32K/64K/128K字节。
Q3: LDROM的大小是多少?
A3: 仅仅4K字节。
Q4: Data Flash的大小是多少?
A4:在APROM大小是8K/16K/32K/64K的芯片中只有4KB的大小。而在128KB的APROM芯片中的大小能够(以512 字节 x N的大小)由用户自己定义。
Q5: Flash 存储器的擦除页大小是多少?
A5: 512 字节的页擦除单位。
Q6: Flash存储器中的烧录数据大小是多少?
A6: 4字节(一个字)的烧录单位。
Q7: 如何更新Flash 存储器?
A7: 通过ICE, ICP, ISP, 编程器,或者第三方编程器,如High-Low的。
Q8: ISP是什么?
A8: ISP 的意思是“在系统编程”(InSystem Programming),目标板通过运行LDROM里的启动/加载代码调用外部的接口如USB/UART/SPI/I2C... 去更新内部的APROM, Data Flash 和 用户配置字。
Q9: ICP是什么?
A9: ICP 的意思是"在电路编程"(inCircuit Programming),PC 电脑可以运行 “NuMicroICP Programming Tool”软件通过Nu-Link 的SWD 接口(serialwire debug) 去更新目标板上的APROM, LDROM, Data Flash和用户配置字。
Q10: CPU在运行APROM里的ISP流程时能更新APROM吗?
A10: 不,不允许CPU运行 APROM的ISP流程又去更新APROM 空间。
Q11: CPU 在运行LDROM里的ISP流程时能更新LDROM吗?
A11: 不,不允许CPU运行 LDROM的ISP流程又去更新LDROM 空间。
Q12: 芯片能从数据FLASH空间去引导启动吗?
A12: 不能,芯片仅仅能从APROM或者LDROM上的代码去启动。
Q13: 在用户编程的代码中能否进行代码保护处理?
A13:可以,它支持设置用户配置字的LOCK 位去保护用户代码。当LOCK位被设置后,所有的FLASH空间上的数据只能读成0xFFFFFFFF。
Q14: 如何去解锁用户配置字的LOCK位?
A14: 仅仅用"整片擦除"命令去解锁LOCK位。
Q15: flash 支持DES 数据加密功能吗??
A15: 不。
Q16: 那个寄存器决定CPU从那一块启动ROM去引导启动?
A16: FMC 控制字寄存器能决定CPU是从 APROM 或者LDROM去引导启动。
20. 电气特性 Q1: 总共有多大的灌入和驱动电流?
A1:请参考技术参考手册的最大极限参数部分。
21.工具
Q1: NUC100 系列工具的价格是多少?
A1: 请与你的代理商联系询价。
Q2: 为什么 Nu-Link 固件升级失败?
A3: 请联系你的代理商或者访问NuMicro™家族主页获取最终版本的固件和驱动。
Q3: Nu-Link 能支持其它公司的器件不?
A4: 不, 仅仅NuMicro™ 家族。
Q4: 数据FLASH的文件, APROM, 和 LDROM 能合并成一个文件吗?
A4: 不建议。
Q5:Nu-Link 支持观察点吗??
A5: 不。
Q6: 何种版本的Keil 和 IAR 可以支持 Nu-Link?
A6: Keil 是3.87 版本以上和 IAR 是 5.5版本以上。
Q7:那些厂家能提供NuMicro™ 家族的器件的第三方烧写器?
A7: 如Hi-Lo,Leap 或者询问你的代理。
Q8: 在Keil-MDK 编译器编译后产生的Code,RO-data,RW-data 和ZI-data 是什么意义?
A8:
Code: 存储在Flash上的代码区,显示出code占用多少字节。
RO-data: 存储在RAM中的常量,显示出只读data占用多少字节, 它已经顺序附加code内。
RW-data:存储在RAM中的变量,显示出读写 data占用多少字节。
ZI-data: 显示出有多少个字节的 零初始化 data。
22.其它
A1: NUC100 有什么命名规则?
Q1: 请参考如下命名规则:
Q2: NUC100 家族支持实时OS (RTOS)吗?
A2: 是的,现在支持uC/OS ‐II,FreeRTOS和RTX。
Q3: 将来NUC100 家族支持DAC应用吗??
A3: 不,NUC100 家族不支持DAC功能。但它能支持N572 语音产品线。 23. 版本历史
|