RISCV学习(3)HPM5301 MCU芯片学习

news/2024/12/28 15:57:07 标签: 学习, 单片机, 嵌入式硬件, HPM5301, RISCV

RISCV学习(3)HPM5301 MCU芯片学习

HPM5301__2">1、HPM5301 背景介绍

笔者在RT-Thread开发者大会上领了一个HPM5301EVKLite的盲盒板子,就抽空点个灯介绍一下。主要板子如下图所述,类似于一个最小系统板。
在这里插入图片描述
在这里插入图片描述

  • 开发厂商:先楫半导体,HPMICRO
  • 芯片架构:32位的RISC-V,RV32,支持IMAFDCPB指令集
  • 芯片类型:HPM5301IEG1
  • 主频:360MHZ,CoreMark 3.57/MHZ
  • Cache:16KB的ICache和DCache
  • 内存:片上288KB的SRAM
  • Flash:1MB
  • ROM:128KB,4096位OTP
    外设如下图所述:
    在这里插入图片描述
    其芯片类型命名如下:按照下面命名规则,笔者HPM5301IEG1 代表:基础款,QFN48版本
    在这里插入图片描述
    具体架构图如下图所述:
  • 通过AHB系统总线与存储Flash等通信
  • 主要通过APB总线去与外设通信,一些高速的设备需要通过AHB总线(比如USB HDMA ADC等)
  • 指令本地内存和数据本地内存都在CPU内部,速度更快,类似于ATCM个BTCM等
    在这里插入图片描述
    j接着来看一下内存布局,memory map,如下图所述。
  • Code代码地址:0x0 - 0x1FFFF 128KB,在CPU内部
  • Data 数据地址:0x80000 - 0x9FFFF 128KB,也在CPU内部
  • SRAM:0xF0400000,算作为外设访问
  • Flash空间:0x80000000 - 0x8FEFFFFF结束,
  • 外设地址:0xE4000000 开始,0xF5000000结束
    在这里插入图片描述
    在这里插入图片描述
    连接脚本里面也可以看到其地址使用:
ENTRY(_start)

FLASH_SIZE = DEFINED(_flash_size) ? _flash_size : 1M;

STACK_SIZE = DEFINED(_stack_size) ? _stack_size : 0x4000;
HEAP_SIZE = DEFINED(_heap_size) ? _heap_size : 32K;

MEMORY
{
    XPI0 (rx) : ORIGIN = 0x80000000, LENGTH = FLASH_SIZE
    ILM (wx) : ORIGIN = 0x00000000, LENGTH = 128K
    DLM (w) : ORIGIN = 0x00080000, LENGTH = 128K
    AHB_SRAM (w) : ORIGIN = 0xf0400000, LENGTH = 32K
}

__nor_cfg_option_load_addr__ = ORIGIN(XPI0) + 0x400;
__boot_header_load_addr__ = ORIGIN(XPI0) + 0x1000;
__app_load_addr__ = ORIGIN(XPI0) + 0x3000;
__boot_header_length__ = __boot_header_end__ - __boot_header_start__;
__app_offset__ = __app_load_addr__ - __boot_header_load_addr__;

补充cfg以及header信息的作用。

HPM5301__56">2、HPM5301 使用介绍

直接使用rt-thread stduio 就可以下载例程并使用。笔者使用的是Jink下载,注意需要使用V11的硬件版本,以及比较新的jink软件。笔者这里使用的版本是:

  • 软件:SEGGER J-Link Commander V7.96q (Compiled Jun 28 2024 12:37:29)
  • 硬件:Firmware: J-Link V11 compiled Apr 27 2041 16:36:21 Hardware version: V11.00
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
然后可以测试USB的收发功能,这个是USB HID。
在这里插入图片描述
在这里插入图片描述

3、参考

1、HPM5300-UM_V_0_3
2、HPM5301EVKLiteUGV1.0
3、HPM5300DSV0.10


http://www.niftyadmin.cn/n/5803031.html

相关文章

大模型辅助测试的正确打开方式?

测试的基本目的之一,是对被测对象进行质量评估。换言之,是要提供关于被测对象质量的“确定性”。因此,我们很忌讳在测试设计中引入“不确定性”,比如采用不可靠的测试工具、自动化测试代码逻辑复杂易错、测试选择假设过于主观等等…

QT:一个TCP客户端自动连接的测试模型

版本 1:没有取消按钮 测试效果: 缺陷: 无法手动停止 测试代码 CMakeLists.txt cmake_minimum_required(VERSION 3.19) project(AutoConnect LANGUAGES CXX)find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets Network)qt_standard_project_setup(…

Android `android.graphics` 包深度解析:架构与设计模式

Android android.graphics 包深度解析:架构与设计模式 目录 引言android.graphics 包概述核心类与架构 CanvasPaintBitmapColorPathShaderMatrix设计模式在 android.graphics 中的应用 工厂模式装饰者模式策略模式享元模式高级图形处理技术 硬件加速离屏渲染自定义 View 中的…

虚幻引擎反射机制

在虚幻引擎中,反射系统是一种强大的机制,它允许开发者和引擎本身在运行时获取并操作类、对象、属性和方法的元信息。这个系统是基于UObject(Unreal Engine中所有支持反射的对象的基类)构建的,为游戏开发提供了极大的灵…

NodeRed使用心得,实现增删改查等

使用场景介绍 在VUE中使用nodeRed实现对节点的 增删改查等功能,且储存成功之后下点击时启动对应流程 安装与配置 1.安装NodeRed npm install -g --unsafe-perm node-red 安装完成后,你可以通过运行以下命令来启动Node-RED node-red-start2. 配置文件 N…

.NET能做什么?全面解析.NET的应用领域

.NET 是由微软开发的一个开源、跨平台的开发框架。它不仅支持构建各种应用程序,还能运行在不同的操作系统上,包括 Windows、Linux 和 macOS。自从 .NET Core 的推出,.NET 成为了一个现代化的开发平台,能够满足企业和开发者日益多样…

基于微信小程序的校园访客登记系统

基于微信小程序的校园访客登记系统 功能列表 用户端功能 注册与登录 :支持用户通过手机号短信验证码注册和登录。个人资料管理 :允许用户编辑和更新个人信息及其密码。站内信消息通知:通知公告。来访预约:提交来访预约支持车牌…

Linux隐藏登录和清除历史命令以及其他相关安全操作示例

隐藏登录 ssh -T rootxxx.xxx.xxx.xxx /bin/bash -i 命令拆解-T :告诉ssh客户端,不要分配一个TTY(伪终端)root :连接用户xxx.xxx.xxx.xxx :连接的服务器ip地址/bin/bash :在远程服务器上启动…