1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lanzhoo-tang-primer20k_-tutorial

Клонировать/Скачать
C01_intro.md 2.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
lanzhoo Отправлено 07.06.2024 16:30 e3bfbd0

[ 返回主页 ]

一个完整MCU例子:基于SparrowRV core + JTAG + MounRiver_Studio

例程目录:C01_mcu_sparrowrvcore;其中c工程代码:C01_mcu_sparrowrvcore/c_mrs_prj

这个设计包含哪些内容?

包含:

  1. MCU硬件设计:
  • 一个简单的RISC-V Core(基于“小麻雀处理器”(https://gitee.com/xiaowuzxc/SparrowRV )修改),实现RV32I指令集;
  • JTAG模块(实现来自“tinyriscv”仓库(https://gitee.com/liangkangnan/tinyriscv ));
  • 自行设计的总线仲裁器;
  • 64kB指令RAM(双口RAM,使用高云IP),16kB数据RAM(使用“小麻雀处理器”sram代码);
  • 自行设计的外设模块:GPIO(LED和Button)、定时器、串口(uart收发具体实现代码改自PicoSoC的simpleuart.v)、中断管理。
  1. c语言例程工程:
  • gpio01: LED显示控制;
  • gpio02: Button和LED控制;
  • timer01: 轮询方式的硬件定时;
  • timer02: 中断方式的硬件定时(hal层代码分离,含printf);
  • uart01: 轮询方式的串口收发;
  • uart02: 中断方式的串口收发(hal层代码分离,含printf);
  1. 接近常见MCU应用开发方式的应用开发环境:(该方案学习自“小麻雀处理器”https://gitee.com/xiaowuzxc/SparrowRV
  • 通过MounRiver Studio编写、编译软件代码;
  • 通过openOCD(命令行方式)下载程序;(基于nanoDAPv2.3 JTAG模块)

如何上手?

上手说明帖子:C01_startup.md

MCU硬件设计

硬件设计说明帖子:C01_mcu_design.md

MCU软件设计

软件设计说明帖子:C01_software_design.md

这个设计的定位和目标

基于Sipeed和高云提供的低成本FPGA模块,面向电子信息工程专业及相关专业学生,展示:

  1. CPU/Core的工作原理和实现过程;
  2. 软件控制芯片外围电路(Core控制外设)的原理(core执行Load/Store指令读写外设的I/O寄存器从而控制外设行为、进而控制引脚电平以控制外围电路)以及外设的设计实现方法;
  3. MCU应用软件中与硬件相关的代码,核心就是读写外设的I/O寄存器;
  4. 中断的实现及硬件与软件的分工合作;

本系列设计的重心在外设设计和软硬件协作设计,对第三方CPU/Core的选择或Core的自行设计均采用尽可能简单的原则。

前置FPGA设计入门参考

https://gitee.com/lanzhoo/TangNano9k_Tutorial/tree/master

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lanzhoo-tang-primer20k_-tutorial.git
git@api.gitlife.ru:oschina-mirror/lanzhoo-tang-primer20k_-tutorial.git
oschina-mirror
lanzhoo-tang-primer20k_-tutorial
lanzhoo-tang-primer20k_-tutorial
master