根据使用场景,配置并集成一个Cortex-M0的内核,暂时不涉及的实现的部分

目录

阅读手册

Chapter1 Introduction

1.1 About the processor

1.2 About integration and implementation

Chapter2 Configuration Guidelines

2.1 About configuration guidelines

2.2 Configuration options

2.2.1 CORTEXM0 configuration options

2.2.2 CORTEXM0INTEGRATION configuration options

2.2.3 CoreSight ROM table base address

Chapter 3  Key Integration Points

3.1 About key integration points

3.2 Key integration tasks

Chapter 4  Functional Integration Guidelines

4.2 时钟

4.2.1 CORTEXM0 level clocks

4.2.2 CORTEXM0INTEGRATION level clocks

4.3 复位

4.3.1 CORTEXM0 level resets

4.3.2 CORTEXM0INTEGRATION level resets

4.4 Interfaces



阅读手册

参考文献:Cortex™ -M0 Revision: r0p0  Integration and Implementation Manual

Chapter1 Introduction

1.1 About the processor

Cortex-M0处理器是具有极低门数节能处理器

它旨在用于需要小面积处理器的微控制器深度嵌入式应用

支持两种层次的集成:

  • 纯粹的处理器级别
  • 集成了WIC和DAP的处理器级别

可以看到,集成层次的Cortex-M0多了WICDAP

Cortex-M0是高度可配置的处理器,可以配置:大端小端,中断数,是否能debug,SysTick timer 等等

提供了两个配置好的层级样例

可以根据自己的需求配置Cortex-M0处理器,并且并更改管脚以匹配单元库的状态保持功率门控(SRPG)要求。

1.2 About integration and implementation

集成的操作根据你所使用的tools可能会有所不同

将处理器集成到SoC上,是第一步

集成的步骤:
  • 将时钟和复位连接到处理器
  • 将处理器连接到外设和总线
  • 执行对处理器的测试
  • 验证SoC

在此过程中,你必须要考虑的事情:

  • 接口,尤其是未使用的接口
  • 验证

撒旦法

Chapter2 Configuration Guidelines

介绍如何对处理器进行配置

2.1 About configuration guidelines

想要成功的配置处理器,你需要对所有的选项都进行配置

上面提到过,有两种集成的策略

不同的级别有不同的配置选项(通过参数parameter配置)

可以通过添加一个wraper对模块进行实例化,以完成对参数的配置;

也可以使用这些wraper在处理器上指定其他输入和输出,以进行电源门控或测试;

例如,提供的实例

  • CORTEXM0IMP.v
  • CORTEXM0INTEGATIONIMP.v

2.2 Configuration options

2.2.1 CORTEXM0 configuration options

  • ACG:指定是否包含时钟门,以最大程度的降低动态功耗;如果使用architectural clock gating,你必须在实现它的时候使用目标工艺库的cell替换

parameter  ACG      =  1;      // Architectural clock gating:

//   0 = absent

//   1 = present

  • AHBSLV:指定实现SLV端口的总线协议;如果集成了Cortex-M0 level,需要使用到其他的debug infrastructure,ARM推荐设置这个参数为1

parameter  AHBSLV   =  1;      // SLV port AHB-Lite compliance:

//   0 = non-compliant

//   1 = more-compliant

  • BE:指定处理器数据传输的endianness端,大端或者小端

parameter  BE       =  0;      // Data transfer endianess:

//   0 = little-endian

//   1 = byte-invariant big-endian

  • BKPT:断点比较器的数量

parameter  BKPT     =  4;      // Number of breakpoint comparators:

//   0 = none

//   1 = one

//   2 = two

//   3 = three

//   4 = four

  • DBG:是否包含调试特性,和BKPT,WPT一块使用

parameter  DBG      =  1;      // Debug configuration:

//   0 = no debug support

//   1 = implement debug support

  • NUMIRQ:指定外部中断的数量

parameter  NUMIRQ   = 32;      // Functional IRQ lines:

//   1 = IRQ[0]

//   2 = IRQ[1:0]

//   . . ...

//  32 = IRQ[31:0]

  • RAR:指定是否重置所有的寄存器还是仅仅架构寄存器

parameter  RAR      =  0;      // Reset-all-register option

//   0 = standard, architectural reset

//   1 = extended, all register reset

  • SMUL:乘法器的配置

parameter  SMUL     =  0;      // Multiplier configuration:

//   0 = MULS is single cycle (fast)

//   1 = MULS takes 32-cycles (small)

  • SYST:是否使用系统滴答计时器,一般实现操作系统的时候会用到

parameter  SYST     =  1;      // SysTick timer option:

//   0 = SysTick not present

//   1 = SysTick present

  • WIC:是否支持唤醒中断控制器

parameter  WIC      =  1;      // Wake-up interrupt controller support:

//   0 = no support

//   1 = WIC deep-sleep supported

  • WICLINES:WIC支持的行;如果没有使用WIC的行,这个参数没有影响
  • parameter  WICLINES = 34;      // Supported WIC lines:

    //   2 = NMI and RXEV

    //   3 = NMI, RXEV and IRQ[0]

    //   4 = NMI, RXEV and IRQ[1:0]

    //   . . ...

    //  34 = NMI, RXEV and IRQ[31:0]

  • WPT:设置数据观察点的个数
  • parameter  WPT      =  2;      // Number of DWT comparators:

    //   0 = none

    //   1 = one

    //   2 = two

2.2.2 CORTEXM0INTEGRATION configuration options

  • JTAGnSW

parameter  JTAGnSW  =  0;      // Debug port interface

//   0 = SerialWire interface

//   1 = JTAG interface

2.2.3 CoreSight ROM table base address

Cortex-M0处理器包括一个符合CoreSight的ROM表,该表提供了指向内存映射的NVIC和调试资源的指针。

该ROM表固定在处理器内存映射中的地址0xE00FF000处。

必须确保将此ROM表设置为系统中的单个主ROM表,或被系统中的另一个有效CoreSight ROM表引用

如果是CORTEXM0INTEGRATION level:

单master的ROM table已经被配置好,并且在地址0xE00FF000处

如果是Cortex-M0级别:

参考技术手册:the CoreSight Components Technical Reference Manual

Chapter 3  Key Integration Points

3.1 About key integration points

本章列举了将Cortex-M0处理器集成到SoC设计中时要考虑的要点;可以使用这章检查是否完成相关集成步骤

3.2 Key integration tasks

Chapter 4  Functional Integration Guidelines

处理器集成到SoC的功能集成指南。

4.2 时钟

4.2.1 CORTEXM0 level clocks

4.2.2 CORTEXM0INTEGRATION level clocks

可以知道:FCLK,SCLK,HCLK,DCLK需要给一个同步时钟,SWCLKTCK给一个异步的调试时钟

4.3 复位

4.3.1 CORTEXM0 level resets

4.3.2 CORTEXM0INTEGRATION level resets

4.4 Interfaces

集成Cortex-M0内核-- Integration and Implementation Manual手册学习相关推荐

  1. 32 位 ARM® Cortex®-M0+内核 单片机

    PY32F003 系列微控制器采用高性能的 32 位 ARM® Cortex®-M0+内核,宽电压工作范围的 MCU.嵌入高达 32Kbytes flash 和 4Kbytes SRAM 存储器,最高 ...

  2. 32位ARM®Cortex®-M0+内核单片机 XL32F003系列MCU

    XL32F003系列微控制器采用高性能的32位ARM®Cortex®-M0+内核,宽电压工作范围的MCU.嵌入高达64 Kbytes flash和8 Kbytes SRAM存储器,最高工作频率32 M ...

  3. ARM® Cortex®-M内核单片机STM32家族介绍,覆盖STM32F、STM32H、STM32L全系列

     STM32是ARM®Cortex®-M内核单片机.目前提供10大产品线(F0, F1, F2, F3, F4, F7, H7, L0, L1, L4),超过700个型号.STM32产品广泛应用于 ...

  4. PY32F002A开发板,32位 M0内核,最高20KB的flash,3KB的SRAM

    PY32F002A开发板为PY32F002A芯片提供了一个简易的硬件开发环境.开发板使用 type c 接口作为供电源.提供包括扩展引脚在内的以及 SWD.Reset.Boot.User button ...

  5. 国产高性能32位M0内核MCU单片机DP32G003

    DP32G003TS20内嵌ARM Cortex M0 内核,最高工作频率可达48MHz,内置高速存储器,丰富的增强型IO端口和外设连接到总线.本产品包括16路IO.1个(9 通道)12位的ADC.2 ...

  6. CW32超低功耗家族再添新成员:32位M0+内核MCU CW32L052系列产品

    2023年2月,武汉芯源半导体超低功耗家族再添新成员--32位M0+内核MCU CW32L052系列芯片. CW32L052 是基于 eFlash 的单芯片低功耗微控制器,集成了主频高达 48MHz ...

  7. 基于Cortex M0+的STM32L0系列简介

    L0系列是意法半导体于2014年新推出的超低功耗的MCU,基于ARM Cortex M0+内核.目前有STM32L0x1,STM32L0x2,STM32L0x3三个子系列,默认主频为32M,RAM都是 ...

  8. 英飞凌tle985x芯片简介--集成了Arm®Cortex®M0的H桥驱动芯片

    TLE985X解决方案的简介 Infineon`s integrated motor driver optimizes the target applications by offering cost ...

  9. 新唐ARM®Cortex™-M0特点总结

    ARM®CortexTM-M0特点: 主频50mhz主频,0.9DMIPS/MHz(相当于8位和16位产品的2-4倍) 小的处理内核,系统和存储器,可以降低器件成本 完善的电源管理(睡眠,深度睡眠和深 ...

  10. 基于ARM Cortex M0 核心的低功耗蓝牙BLE芯片

    MS1793S 是一款基于ARM Cortex M0 核心的低功耗蓝牙芯片,射频采用2.4GHz ISM 频段的频率,2MHz 信道间隔,符合蓝牙规范.MS1793S使用高性能的ARM®Cortex® ...

最新文章

  1. node-red教程 5 函数节点
  2. 洛谷 数论入门相关题目--2022.01.22
  3. magento 1.9 用户无法登录 magento 1.9 customer can not login
  4. Windows Server 2008 R2 搭建FTP服务
  5. mysql 唯一 标识符_mysql – 获取唯一标识符而不插入
  6. Python中文件操作和文件夹操作的学习笔记
  7. ros melodic控制真实机械臂之等周期输出插补点
  8. revit建筑样板_BIM技术在历史保护建筑中的具体应用(艾三维BIM分享)
  9. 运行uiautomatorviewer.bat报错No suitable Java found
  10. 【RAC】 RAC For W2K8R2 安装--创建ASM磁盘组(六)
  11. 精通JavaScript--06设计模式:结构型
  12. 【cc2541历程】APP更改蓝牙设备名称
  13. 好用的代码加密软件,编程,编译数据安全
  14. logit回归模型假设_LOGISTIC回归分析
  15. JavaScript 游戏开发:手把手实现碰撞物理引擎
  16. sgu244:Height, Bisector and Median(几何)
  17. 计算机生命科学研究系,生命科学与计算机科学的结合发展研究
  18. 《rework》读书摘要
  19. win2d 渐变颜色
  20. OpenCV实践之路——opencv玩数独之一九宫格轮廓提取与透视变换

热门文章

  1. LED发光原理(笔记)
  2. 视频格式怎么改为mp4?用视频转换器轻松解决
  3. 【python爬虫】http.cookiejar库之CookieJar,模拟登录与访问
  4. 那些年,我们一起玩过的儿童游戏
  5. STM32——时钟、HSE、旁路模式、有源晶振
  6. 微信授权登录功能实现
  7. 跑马灯编程Android,Android TextView实现跑马灯效果的方法
  8. 计算机专业英语课程整体设计,计算机专业英语的课程整体.doc
  9. 何为自动化测试?(纯干货)
  10. 计算机频率符号,波长、频率和波速