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

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

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

3天內不再提示

PY32移植RT-Thread Nano記錄

冬至子 ? 來源:goldengrandpa ? 作者:goldengrandpa ? 2023-09-13 17:45 ? 次閱讀

這次簡單的給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 %drn", file, line) /
/
無限循環 /
while (1)
{
}
}
#endif /
USE_FULL_ASSERT /
/
********************** (C) COPYRIGHT Puya END OF FILE *************/

結果:LED亮滅500ms

1.jpg

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

    關注

    16

    文章

    1205

    瀏覽量

    52149
  • SRAM存儲器
    +關注

    關注

    0

    文章

    88

    瀏覽量

    13328
  • RT-Thread
    +關注

    關注

    31

    文章

    1293

    瀏覽量

    40197
  • 推挽輸出
    +關注

    關注

    0

    文章

    42

    瀏覽量

    6522
  • HAL庫
    +關注

    關注

    1

    文章

    121

    瀏覽量

    6295
收藏 人收藏

    評論

    相關推薦

    移植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 ?2719次閱讀
    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 ?939次閱讀

    基于 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 ?3808次閱讀

    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記錄

    這里bsp我直接使用廠商提供的bsp,原本想要直接選擇芯片自己新建工程的,但是根據官方的教程一直沒有成功于是就直接用現成的bsp了
    的頭像 發表于 06-07 15:17 ?1823次閱讀
    <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>
    主站蜘蛛池模板: 91视频观看| 国产三级在线免费| 完全免费在线视频| 国产欧美一区二区日本加勒比| www4虎| 日韩三级精品| 日本三级成人午夜视频网| 亚洲综合久久久久久888| www一区二区三区| 欧美性黑人极品hd网站| 美国bj69| 国产精品久久久久久影院 | 色婷婷六月天| 狠狠色96视频| 好黄好猛好爽好痛的视频| 97dyy影院理论片| 男男np主受高h啪啪肉| 一区二区三区欧美在线| 四虎影院4hu| 美日韩一级| 色多多影视| 女人张腿让男桶免费视频观看| 日韩视频高清| 就要爱综合| 欧美精品videosex性欧美| 久久久久久青草大香综合精品| 国产伦理一区二区三区| 天天综合网天天做天天受| 国产成人在线播放视频| 狠狠色欧美亚洲狠狠色www| 成人伊人| 美女被曹| 黄色在线网站| 制服丝袜中文字幕第一页| 色噜噜久久| 国产亚洲精品在天天在线麻豆| 五月激情综合网| 天天天操| 中国同志chinese小彬tv| 精品国产麻豆免费人成网站| 色中色综合|