0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

“狂飙!来感受先楫芯高速双引擎的澎湃动力。”

先楫半导体HPMicro 2022-06-14 11:38 次阅读

先楫半导体的HPM6750集成2个RISC-V 处理器,主频高达816MHz。既然有两个CPU,岂可让它白白浪费?本文来带你一起尝试双核例程,体验双引擎带来的风驰电掣般的感觉。

HPM6750双核采用主从结构,CPU0 和CPU1 采用相同配置:

●支持相同指令集

●相同容量的L1 指令和数据缓存

●相同容量的指令和数据本地存储器:256 KB ILM 和256 KB DLM

CPU0 和CPU1 采用相同的存储器映射,以下为例外:

● CPU 自身的指令/数据本地存储器ILM / DLM 为私有;

●FGPIO 为私有

●平台中断控制器PLIC 为私有

●软件中断控制器PLICSW 为私有

●机器定时器MCHTMR 为私有

CPU0 和CPU1 采用相同的特权模式设置。

361dac98-e72d-11ec-a2f4-dac502259ad0.png

CPU0 为主CPU,CPU1 为从CPU,当复位发生时,系统总是由CPU0 启动,而CPU1 处于待机状态。需要时,由CPU0 装载CPU1 的程序镜像,之后释放CPU1,步骤如下:

1. CPU0 将CPU1 的代码镜像地址写入SYSCTL_CPU1_GPR0 寄存器

2. CPU0 将CPU1 启动代号写入SYSCTL_CPU1_GPR1 寄存器,代号为0xC1BEF1A9

3. CPU0 将SYSCTL_CPU1_LP [HALT] 位清0,即可释放CPU1


双核应用程序的开发步骤如下:

369c9170-e72d-11ec-a2f4-dac502259ad0.png

根据

“E:\sdk_env_v0.9.0\hpm_sdk\samples\multicore\hello”中README_zh.md文件如下:

多核示例工程在Core0上运行"hello word"示例,在core1上运行"rgb_led"示例。

在本工程中:

- 串口输出 "hello world"; 键盘手动输入字符串信息,通过串口打印出来

- RGB LED会在红、绿、蓝三色中依次切换

## 硬件设置

BOOT_PIN 应该设置为:0-OFF, 1-OFF

## 生成和编译多核工程

本示例中:core0示例在FLASH中原地执行, core1工程在ILM里执行。

用户必须先生成和编译__Core1__工程

用户必须在生成和编译完core1工程后再生成和编译__Core0__工程

### 生成core1工程

__CMAKE_BUILD_TYPE__ 必须是 下列选项中的一种:

- *"sec_core_img"*

- *"sec_core_img_release"*

若通过SDK env 包来生成工程,需要用 *"-t sec_core_img"*

### 生成core0工程

__CMAKE_BUILD_TYPE__ 无限制

## 运行现象

- 下载core0示例到设备并运行

- 下载core1示例到设备并运行


本文参照以上说明将在core0和core1中分别新建FreeRTOS相关程序,即在双核上各自运行RTOS

新建Core1程序的SES工程


复制HPM 6750的SDK文件夹“sdk_env_v0.9\hpm_sdk\samples\rtos”下面的freertos_hello实例工程,复制到“sdk_env_v0.9.0\hpm_sdk\samples\multicore\hello\”并重新命名成“FreeRTOS_RISCV1”。

36dc6610-e72d-11ec-a2f4-dac502259ad0.png

修改CMakeLists.txt文件中的配置,增加core1的链接文件,如下图所示:

3713bb42-e72d-11ec-a2f4-dac502259ad0.png

然后根据SDK 开发指南文档《HPM6750EVKMINI_UG》中的工程生成步骤,来生成segger embedded studio的工程文件。SDK env 包来生成工程,需要增加"-t sec_core_img"*

37611860-e72d-11ec-a2f4-dac502259ad0.png

新建Core0程序的SES工程


复制HPM 6750的SDK文件夹“sdk_env_v0.9\hpm_sdk\samples\rtos”下面的freertos_hello实例工程,复制到“sdk_env_v0.9.0\hpm_sdk\samples\multicore\hello\”并重新命名成“FreeRTOS_RISCV”。

修改CMakeLists.txt文件中的配置,增加core0的链接文件,如下图所示:

3790bbf6-e72d-11ec-a2f4-dac502259ad0.png

然后根据SDK 开发指南文档《HPM6750EVKMINI_UG》中的工程生成步骤,来生成segger embedded studio的工程文件。

37d98052-e72d-11ec-a2f4-dac502259ad0.png

编译Core1程序的SES工程

因为core0程序中依赖core1工程编译并转换的源文件,因此,在编译core0程序前,必须先将core1工程编译好。

SDK会生成工程文件FreeRTOS_RISCV在FreeRTOS_RISCV\hpm6750evkmini_build\segger_embedded_studio文件路径下面,通过双击该文件可以直接进入SES(segger embedded studio),并打开该工程,然后编译。

在core1的工程编译完成会生成文件“sec_core_img.c”,并被自动拷贝到core0的工程路径FreeRTOS_RISCV/src/。在core1的FreeRTOS例程中主要完成RGBLED的依次点亮运行。

编译Core0程序的SES工程

在core0的FreeRTOS例程中主要完成RTOS多任务运行。

先在core0的工程增加从核镜像加载处理接口

381d45a8-e72d-11ec-a2f4-dac502259ad0.png

并将该接口放置在board_init之后

388cfc2c-e72d-11ec-a2f4-dac502259ad0.png

多核调试

在进行双核程序调试时,先下载并启动core0的程序。

38c44ba0-e72d-11ec-a2f4-dac502259ad0.png

38feda04-e72d-11ec-a2f4-dac502259ad0.png

先在core0的SES工程中按F5,让core0主核的程序运行;再在core1的SES工程中按F5,让core1的程序运行。

393e91da-e72d-11ec-a2f4-dac502259ad0.png

可以看出core0的程序任务1和任务2,能够轮流执行,并且IDLE任务在他们休眠的间隙能够被调度执行。

对上面的代码稍作调整,调整任务1和任务2的延时时间,其中task2不再延时。

结论

HPM6750 采用双RISC-V 内核,可以方便的适配主核和从核的各种接口,能够充分灵活地利用soc的各种资源。为实时性要求高,控制内容多样的应用提供更为友好的体验。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 双核
    +关注

    关注

    0

    文章

    37

    浏览量

    15188
收藏 人收藏

    评论

    相关推荐

    怎么从零基础入门

    适合小白学习吗,只有一点STM32基础,网上的资料,好像入门的不多,学习群也不知道在哪里有,买了一块HPM6E00EVK,现在只能看,无从下手,代码架构好像也看不太明白,跟HAL库差别很大,IDE好像也视频资料不多,难道真的要从开始就放弃了吗 
    发表于 10-21 13:18

    HPM6E00威廉希尔官方网站 日 | 百人研讨共话工业应用创新及发展趋势

    2024年8月29日,深圳 | 由上海半导体科技有限公司(半导体,HPMicro)主办的HPM6E00威廉希尔官方网站 日于深圳市南山区尚美科技大厦会议室如期举办。本次活动聚焦国内首款拥有倍
    发表于 09-02 10:14

    战略合作丨华秋商城携手半导体,共创新篇

    2024年7月24日,上海半导体科技有限公司(半导体,HPMicro)正式授权深圳华秋电子有限公司代理商,授权产品为先半导体芯片及
    的头像 发表于 08-30 12:05 573次阅读
    战略合作丨华秋商城携手<b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体,共创新篇

    有奖提问!半导体HPM6E00系列新品发布会!!

    新一代的工业标杆! HPM6E00 直播发布会将为您奉上由管理层、国际威廉希尔官方网站 专家、市场大咖、行业资深威廉希尔官方网站 人员打造的“饕餮盛宴”。我们将为大家详细诠释HPM6E00新品的性能优势、系统架构、生态资源
    发表于 06-20 11:45

    工业标杆,邀您来围观——HPM6E00新品上市在即

    上海半导体科技有限公司(半导体,HPMicro)官宣将于2024年6月27日,线上直播国内首款拥有德国倍福公司(Beckhoff)正式授权EtherCAT从站控制器(ESC
    的头像 发表于 06-13 08:17 1137次阅读
    工业<b class='flag-5'>芯</b>标杆,邀您来围观——<b class='flag-5'>先</b><b class='flag-5'>楫</b>HPM6E00新品上市在即

    威廉希尔官方网站 赋能,携手共创未来:半导体成功举办2024 DFAE培训活动

    2024年5月,半导体HPMicroDFAE(DistributorFieldApplicationEngineer)Level-1培训活动正式收官。本次培训在上海、深圳两地展开,采用“现场授课
    的头像 发表于 05-31 08:17 623次阅读
    威廉希尔官方网站
赋能,携手共创未来:<b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体成功举办2024 DFAE培训活动

    聚焦工业多场景应用,发展势头锐不可当

    2024年4月25日,深圳-国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)携手OpenHarmony生态领域的合作伙伴共同成功举办了工业威廉希尔官方网站 主题研讨会,
    的头像 发表于 04-29 08:17 435次阅读
    聚焦工业多场景应用,<b class='flag-5'>先</b><b class='flag-5'>楫</b>发展势头锐不可当

    6880如何实现bootload + APP应用跳转

    一。bootload + app程序跳转过程讲解 1.6880cpu内核的启动流程,目前是支持两种方式: (1).flash启动。 (2).emmc启动。 由于芯片内部固化的192K的rom程序
    发表于 04-26 16:03

    半导体 hpm_sdk v1.5.0 正式发布

    半导体 hpm_sdk v1.5.0 正式发布
    的头像 发表于 04-12 08:17 581次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体 hpm_sdk v1.5.0 正式发布

    引领极致视界——高性能MCU HPM6800系列产品生态绽放,共链未来

    2024年3月28日,上海-国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)携手生态合作伙伴原、立功科技、顺
    的头像 发表于 03-30 08:16 863次阅读
    引领极致视界——<b class='flag-5'>先</b><b class='flag-5'>楫</b>高性能MCU HPM6800系列产品生态绽放,共链未来

    高性能MCU HPM6800系列产品生态绽放,共链未来

    2024年3月28日,上海 - 国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)携手生态合作伙伴原、立功科技
    的头像 发表于 03-29 18:21 1057次阅读

    原2.5D GPU IP赋能半导体HPM6800系列RISC-V MCU

    原股份(股票代码:688521.SH)与半导体(简称“”)的合作,为高性能图形处理领域带来了新的突破。
    的头像 发表于 03-05 09:21 967次阅读

    原宣布半导体的HPM6800系列采用了高性能2.5D图形处理器(GPU)IP

    2024年3月4日,中国上海——原股份 (原,股票代码:688521.SH) 今日宣布半导体 (简称“
    的头像 发表于 03-04 15:33 885次阅读

    半导体上海办公室乔迁大吉

    2024年2月21日,上海-国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)正式宣布乔迁到新的办公地点——上海浦东新区博霞路57号I座1楼。随着
    的头像 发表于 02-22 08:16 600次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体上海办公室乔迁大吉

    RT-Thread BSP v1.4.0 正式发布

    的硬件构建一些有特色的应用,增加开发板的可玩性并为使用开发板的小伙伴们提供更多的参考代码,助力应用的快速开发。版本更新(相对于BSPv1.3.0)适配了hpm
    的头像 发表于 02-19 12:20 622次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b> RT-Thread BSP v1.4.0 正式发布