Giter Site home page Giter Site logo

hfyfpga / amy_mcu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sunyata000/amy_mcu

0.0 0.0 0.0 2.69 MB

A MCU implementation based PODES-M0O

License: GNU Lesser General Public License v3.0

Shell 0.21% C 4.28% Objective-C 0.15% Verilog 95.02% Assembly 0.31% Forth 0.04%

amy_mcu's Introduction

AMY_M0O

AMY_M0O是基于PODES-M0O开发的一款MCU实现,用于演示PODES-M0O的应用及开发过程。
主要目标对象为:个人学习者。尤其是那些具备一定的基础知识,准备涉足SoC设计和应用的人员。比如逻辑设计工程师、在校学生等等。

AMY_M0O的设计原则

一个SoC设计,无论多么简单,都要涉及到指令集设计、RTL代码开发、RTL仿真、FPGA硬件系统验证、编译器的开发/使用、嵌入式C程序开发、甚至操作系统的裁剪。正所谓麻雀虽小,五脏俱全。熟悉或者了解上述知识和相关的工具使用,有助于快速上手。
为了帮助个人学习者尽快上手,AMY/PODES-M0O已经做到了尽量简化。去掉了大量与实际ASIC实现相关的代码;在保留核心的前提下优化结构;尽量使用常见和易得的开发工具;编写精简的开发脚本;甚至提供一个完整的FPGA评估板。
在如何达到精简易用方面,作者动了不少心思。用剃刀一层一层地刮,直到最后只剩下一堆骨架,再无从下手了。现在你手头的代码已经是数易其稿后的结果。毕竟,SoC芯片开发在IC设计公司一般都经由至少三个不同技术领域的团队协作完成。把这些简化到个人学习者容易接受的程度对我来说确实有一点困难。简单的事情弄复杂一般人都会,复杂的事情弄简单不容易!想到AMY/PODES-M0O是用于学习和研究的,或许简约而不简单就应该是他的本来面目。

AMY-M0O特性

  • 标准的PODES_M0O 32bit MCU Core
  • 32bit GPIO
  • 2个UART
  • 1个IIC
  • 1个键盘
  • 1个STN
  • 1个PWM

应用模式:

  • IIC连接外部EEPROM/FLASH存储芯片;
  • GPIO扩展应用;
  • STN显示功能;
  • KEYPAD输入;
  • PWM电机驱动控制;

AMY-M0O功能框图

AMY-M0O的结构如下图,构成一个PODES-M0O处理器内核的最小评估系统。
评估系统工作流程为:内建boot代码接收串口数据,写入内存或者IIC 接口的EEPROM芯片。硬件自动从内存/EEPROM芯片中读取代码,存入片内RAM然后运行。


AMY-M0O功能框图

AMY-M0O功能扩展

AMY/PODES-M0O的结构设计为功能扩展做了特别优化,用户只需要将自己设计的APB接口模块挂接在系统提供的APB总线上即可。


AMY-M0O功能扩展

使用方式

具体使用方式,请参考项目中的使用手册:PODES_M0O_Application_User_Manual_V1p0 文档。

贡献

  1. 直接代码贡献请从 master 创建你的分支。
  2. 新的需求或者建议请留言,我会评估并处理。
  3. 如果你修改了或者增加了代码,请提供对应的文档。
  4. 确保代码风格一致 (尽量参考原始代码风格)。
  5. 如果你想直接资助这个项目,请参考README_AMY

许可

LGPL


amy_mcu's People

Contributors

sunyata000 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.