在线观看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>
    主站蜘蛛池模板: 国产福利资源在线 | 5g国产精品影院天天5g天天爽 | 亚洲精品91大神在线观看 | 亚洲综合天堂网 | 日本色网址 | 黄色综合网站 | 84pao强力永久免费高清 | 国产亚洲欧美日韩俺去了 | 国产综合精品久久亚洲 | 丁香婷婷久久 | 末发育女一区二区三区 | 在线播放网址 | 成年片色大黄全免费 | 全国男人的天堂网站 | 五月婷婷在线视频观看 | 欧美freesex | 2021最新久久久视精品爱 | 四虎最新免费网址 | 免费看日本大片免费 | www.淫| 亚洲一区日本 | 欧美福利片在线观看 | 午夜爱爱毛片xxxx视频免费看 | 黄色免费网站视频 | 手机看片久久 | 国产欧美日韩综合精品无毒 | 精品国产第一国产综合精品gif | 天天摸天天 | 一个色综合网站 | 夜间免费小视频 | 婷婷午夜 | 亚洲加勒比在线 | 精品手机在线 | 成人国产一区二区三区 | 视频在线观看免费网站 | 日本巨黄视频 | 欧美黄色三级视频 | 九九热国产在线 | 欧美一二三区在线 | 人人公开免费超级碰碰碰视频 | 久久综合影视 |