在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PY32移植RT-Thread Nano記錄

冬至子 ? 來源:goldengrandpa ? 作者:goldengrandpa ? 2023-06-07 15:17 ? 次閱讀

這次簡單的給PY32移植一下RT-Thread Nano

開發板:PY32F003_StartKit (PY32F003F16U Flash 32K SRAM 4K)

IDE:MDK5

1.準備工作

這里bsp我直接使用廠商提供的bsp,原本想要直接選擇芯片自己新建工程的,但是根據官方的教程一直沒有成功于是就直接用現成的bsp了

下載:點擊Pack installer

1.jpg

選擇RT-Thread進行下載

1.jpg

Manage Rum-Time Environment,本次我們就只移植kernel,shell暫時我還用不上所以就先不移植了

1.jpg

2.清除重定義

rt-thread在運行過程中會使用到HandFault_Handler和PendSV_Handler用于線程切換,異常處理,所以需要將py32f0xx_it.c中的這兩個函數刪除,否則鏈接時會提示重定義

還有mdk中main函數的入口函數extern int Super$main(void);原來是在system_py32f0xx.c中實現的,rtthread也進行了接管在啟動流程中是如下流程

rt_application_init->main_thread_entry->Super$main(void),所以我們需要把system_py32f0xx.c中的刪除

3.完成rt_hw_board_init

void rt_hw_board_init(void)

{

/*

TODO 1: OS Tick Configuration

Enable the hardware timer and call the rt_os_tick_callback function

periodically with the frequency RT_TICK_PER_SECOND.

*/

/* Call components board initial (use INIT_BOARD_EXPORT()) */

HAL_Init();

APP_SystemClockConfig(); // 配置系統時鐘

SystemCoreClockUpdate(); // 對系統時鐘進行更新

SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);

#ifdef RT_USING_COMPONENTS_INIT

rt_components_board_init();

#endif

#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)

rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());

#endif

}

4.修改內存堆

因為這個芯片sram很小所以我這里就給了2KB

#define RT_HEAP_SIZE (2*1024)

static rt_uint8_t rt_heap[RT_HEAP_SIZE];

5.愉快的點燈

/**

@file main.c

@author MCU Application Team

@brief Main program body

  • @attention

? Copyright (c) Puya Semiconductor Co.

All rights reserved.

? Copyright (c) 2016 STMicroelectronics.

All rights reserved.

This software component is licensed by ST under BSD 3-Clause license,* the "License"; You may not use this file except in compliance with the

License. You may obtain a copy of the License at:

opensource.org/licenses/BSD-3-Clause

*/

/* Includes ------------------------------------------------------------------*/

#include "main.h"

#include

/* Private define ------------------------------------------------------------*/

/* Private variables ---------------------------------------------------------*/

/* Private user code ---------------------------------------------------------*/

/* Private macro -------------------------------------------------------------*/

/* Private function prototypes -----------------------------------------------*/

/**

@brief 應用程序入口函數.

@retval int

*/

static void APP_LedConfig(void);

int main(void)

{

APP_LedConfig();

while (1)

{

rt_thread_delay(500);

HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);

}

}

/* *

@brief 錯誤執行函數

@param 無

@retval 無

*/

void APP_ErrorHandler(void)

{

/* 無限循環 */

while (1)

{

}

}

static void APP_LedConfig(void)

{

GPIO_InitTypeDef GPIO_InitStruct;

__HAL_RCC_GPIOB_CLK_ENABLE(); /* GPIOB時鐘使能 */

GPIO_InitStruct.Pin = GPIO_PIN_5;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; /* 推挽輸出 */

GPIO_InitStruct.Pull = GPIO_PULLUP; /* 使能上拉 */

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; /* GPIO速度 */

HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /* GPIO初始化 */

}

#ifdef USE_FULL_ASSERT

/* *

@brief 輸出產生斷言錯誤的源文件名及行號

@param file:源文件名指針

@param line:發生斷言錯誤的行號

@retval 無

*/

void assert_failed(uint8_t *file, uint32_t line)

{

/* 用戶可以根據需要添加自己的打印信息,

例如: printf("Wrong parameters value: file %s on line %d\\r\\n", file, line) */

/* 無限循環 */

while (1)

{

}

}

#endif /* USE_FULL_ASSERT */

/** ********************** (C) COPYRIGHT Puya END OF FILE *************/

結果:LED亮滅500ms.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108037
  • FlaSh
    +關注

    關注

    10

    文章

    1635

    瀏覽量

    148088
  • SRAM芯片
    +關注

    關注

    0

    文章

    65

    瀏覽量

    12095
  • RT-Thread
    +關注

    關注

    31

    文章

    1291

    瀏覽量

    40176
收藏 人收藏

    評論

    相關推薦

    移植RT-Thread nano到CW32L083

    移植RT-Thread Nano到CW32L083開發板上,并成功運行。
    的頭像 發表于 07-03 09:04 ?2.2w次閱讀
    <b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> <b class='flag-5'>nano</b>到CW32L083

    i.MX RT1170:VGLite移植RT-Thread Nano過程講解(上)

    RT-Thread 是國人自主研發的開源實時操作系統(RTOS),RT-Thread Nano 是極簡版的硬實時內核,內存占用小,移植簡單。VGLite 是 NXP 提供的輕量級 2D
    的頭像 發表于 11-09 11:20 ?2707次閱讀
    i.MX <b class='flag-5'>RT</b>1170:VGLite<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b>過程講解(上)

    i.MX RT1170:VGLite移植RT-Thread Nano過程講解(下)

    上篇介紹了如何移植 RT-Thread Nano 內核與 Finsh 控制臺到 RT1170。本篇繼續介紹如何將 NXP 官方的 VGLite API
    的頭像 發表于 11-09 11:22 ?934次閱讀

    基于 Keil MDK 移植 RT-Thread Nano

    基于 Keil MDK 移植 RT-Thread Nano 本文介紹如何基于 Keil MDK 移植 RT-Thread
    發表于 03-29 06:58

    如何基于CubeMX移植RT-Thread Nano

    本文介紹了如何基于 CubeMX 移植 RT-Thread Nano,并說明生成代碼工程的步驟。RT-Thread Nano 已集成在 Cu
    發表于 03-29 06:56

    基于 Keil MDK 移植 RT-Thread Nano

    本文介紹如何基于 Keil MDK 移植 RT-Thread Nano ,并以一個 stm32f103 的基礎工程作為示例進行講解。RT-Thread
    發表于 05-19 18:15

    【國產MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano

    【國產MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano
    發表于 11-18 18:51 ?65次下載
    【國產MCU<b class='flag-5'>移植</b>】HC32F460基于Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b>

    【國產MCU系列】在 HK32F030 上移植 RT-Thread Nano

    如需下載相關開源資料請點擊閱讀原文這是一個航順 HK32F030 的 RT-Thread Nano 移植示例,記錄了在 Keil 裸機工程的基礎上進行
    發表于 11-21 18:51 ?42次下載
    【國產MCU系列】在 HK32F030 上<b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b>

    STM32 RT-Thread Nano(1)基于 Keil MDK 移植

    本文介紹如何基于 Keil MDK 移植 RT-Thread Nano ,并以一個 stm32f103 的基礎工程作為示例進行講解。開發平臺:Keil MDK硬件平臺:XNUCLEO-F103RB
    發表于 12-02 16:06 ?13次下載
    STM32 <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b>(1)基于 Keil MDK <b class='flag-5'>移植</b>

    HC32F460移植RT-Thread Nano+FinSh工程源碼下載

    HC32F460移植RT-Thread Nano+FinSh工程源碼下載
    發表于 01-05 10:30 ?6次下載

    【國產MCU系列】在 HK32F030 上移植 RT-Thread Nano

    這是一個航順 HK32F030 的 RT-Thread Nano 移植示例,記錄了在 Keil 裸機工程的基礎上進行 RT-Thread
    發表于 01-25 17:42 ?4次下載
    【國產MCU系列】在 HK32F030 上<b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b>

    基于 Keil MDK 移植 RT-Thread Nano

    本文介紹如何基于 Keil MDK 移植 RT-Thread Nano ,并以一個 stm32f103 的基礎工程作為示例進行講解。 RT-Thread
    發表于 01-26 17:04 ?16次下載
    基于 Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b>

    如何創建RT-Thread Nano工程

    本文將嘗試使用國產的嵌入式實時操作系統RT-Thread,相比較于FreeRTOS,RT-Thread還是有很多有點的,比如有Fish命令行界面,國產開源免費,Nano版本代碼量極小,移植
    的頭像 發表于 03-19 12:13 ?3806次閱讀

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與<b class='flag-5'>移植</b>

    PY32移植RT-Thread Nano記錄

    開發板:PY32F003_StartKit (PY32F003F16U Flash 32K SRAM 4K)
    的頭像 發表于 09-13 17:45 ?1225次閱讀
    <b class='flag-5'>PY32</b><b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b><b class='flag-5'>記錄</b>
    主站蜘蛛池模板: 免费高清在线视频色yeye| www.人人干| 国产午夜视频在永久在线观看| 特级中国aaa毛片| 欧美福利视频网| 视频在线免费观看| 久久国产精品99精品国产987| 四虎永久免费地ww4hu57| 国产一级特黄高清免费大片| 一色屋免费视频| 久久婷婷色综合老司机| 色中色官网| 中文字幕亚洲一区婷婷| 一级黄a| 淫婷婷| 精品女同| 国产欧美综合在线| 亚洲婷婷国产精品电影人久久| 午夜国产理论| 性福利视频| 美国bj69video18视频| 美女天天干| 欧洲精品码一区二区三区免费看 | 9久久99久久久精品齐齐综合色圆 9久热久re爱免费精品视频 | 国产三级在线免费| 婷婷五月在线视频| 日本激情网| 日本三级成人午夜视频网| 亚洲精品资源| 男女一级特黄a大片| 午夜影视体验区| 两性午夜欧美高清做性| 202z欧美成人| 天堂中文在线最新版地址| 色老头网站久久网| 日本69式xxx视频| 天堂网在线.www天堂在线资源| 亚洲一级特黄特黄的大片| 精品国产一二三区在线影院| 五月天丁香婷婷网| 亚洲国产成人在线|