chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CubeIDE實(shí)用技巧之配置Heap空間

jf_pJlTbmA9 ? 來源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2023-10-31 17:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問題描述

近日接到一客戶需求,其欲在 STM32CubeIDE 中指定堆(Heap)的地址到某一專用的RAM 中。

問題分析

STM32CubeIDE 生成的工程中,默認(rèn)的堆棧配置示意圖如圖 1 所示:

wKgaomUD4ciAXRBlAADddNVIirg587.png

解決方法

通過 STM32CubeIDE 生成的工程中,會(huì)默認(rèn)生成 sysmem.c。這個(gè)文件中的

__sbrk_heap_end 指針默認(rèn)賦值為 NULL,我們只需要更改這個(gè)指針為目標(biāo)地址即可達(dá)到期望。

例如:默認(rèn)配置是“static uint8_t *__sbrk_heap_end = NULL;”我們希望將堆的地址分配到 0x20001000 為起始的空間上,可以這樣做:

“static uint8_t *__sbrk_heap_end = (uint8_t*)0x20001000;”

注意:由于堆(heap)向上增長(zhǎng),棧(stack)向下增長(zhǎng),所以在手動(dòng)更改堆的起始地址時(shí),如果定義的堆和棧空間存在重疊區(qū)域,STM32CubeIDE 無法識(shí)別這種情形,用戶應(yīng)當(dāng)避免這樣的設(shè)置。

驗(yàn)證

在 STM32CubeIDE 生成的串口打印的工程,然后按照上面示例修改 sysmem.c 中的__sbrk_heap_end 參數(shù)。

wKgZomUD4cuAO0nvAACsjQXEThg382.png
wKgZomUD4c2AXBrGAABlsW52NXc575.png

可以看到 heap_pointer 指針通過 malloc 申請(qǐng)到的地址,已經(jīng)指向了目標(biāo) RAM 范圍內(nèi)了。

注意,這里我們?cè)?0x20001000 開始的位置申請(qǐng)了 10 個(gè)字節(jié)的空間,理論上heap_pointer 應(yīng)當(dāng)從 0x20001000 開始計(jì)算,但是由于 malloc 在申請(qǐng)的地址時(shí),會(huì)占用 8個(gè)字節(jié)用來存儲(chǔ)狀態(tài)等信息,所以 heap_pointer 指針從 0x20001008 開始。這是STM32CubeIDE 使用了 newlib 庫來實(shí)現(xiàn) malloc 的機(jī)制所致,不影響用戶的使用。

來源:STM32單片機(jī)

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1400

    瀏覽量

    120964
  • STM32
    +關(guān)注

    關(guān)注

    2312

    文章

    11189

    瀏覽量

    374502
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1626

    瀏覽量

    83295
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    484

    瀏覽量

    71947
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32CubeIDE入門教程 STM32CubeIDE安裝使用教程

    STM32CubeIDE是一個(gè)高級(jí)C / C ++開發(fā)平臺(tái),具有用于STM32微控制器和微處理器的外設(shè)配置,代碼生成,代碼編譯和調(diào)試功能。它基于Eclipse??/ CDT框架和GCC工具鏈進(jìn)行開發(fā),并基于GDB進(jìn)行調(diào)試。它允許
    的頭像 發(fā)表于 06-08 09:19 ?1.4w次閱讀
    <b class='flag-5'>STM32CubeIDE</b>入門教程 <b class='flag-5'>STM32CubeIDE</b>安裝使用教程

    STM32CubeIDE軟件實(shí)現(xiàn)STM32外部中斷實(shí)例

    本文用STM32CubeIDE軟件實(shí)現(xiàn)STM32外部中斷實(shí)例。
    的頭像 發(fā)表于 08-24 09:09 ?5799次閱讀

    STM32CubeIDE SWV功能介紹

    01 引言 STM32CubeIDE是ST官方推出的集成開發(fā)環(huán)境,集成了很多STM32的調(diào)試與開發(fā)工具。本文主要介紹如何使用SWV功能來打印輸出。 02 問題描述 客戶使用STM32CubeIDE
    的頭像 發(fā)表于 10-13 14:20 ?6051次閱讀
    <b class='flag-5'>STM32CubeIDE</b> SWV功能介紹

    Ubuntu 18.04 安裝 STM32CubeIDE 小記

    Ubuntu 18.04 安裝 STM32CubeIDE 小記
    發(fā)表于 11-18 17:36 ?9次下載
    Ubuntu 18.04 安裝 <b class='flag-5'>STM32CubeIDE</b> 小記

    STM32CubeIDE使用

    參考STM32CubeIDE屬于一站式工具,本文帶你體驗(yàn)它的強(qiáng)大第一個(gè)STM32CubeIDE項(xiàng)目STM32CubeIDE使用記錄STM32CubeIDE使用筆記(03):使用ST-L
    發(fā)表于 12-02 17:21 ?29次下載
    <b class='flag-5'>STM32CubeIDE</b>使用

    STM32CubeIDE初識(shí)

    STM32CubeIDE初識(shí)
    發(fā)表于 12-02 18:36 ?23次下載
    <b class='flag-5'>STM32CubeIDE</b>初識(shí)

    STM32CubeIDE安裝-NSIS Error問題

    STM32CubeIDE安裝-NSIS Error問題
    發(fā)表于 12-03 21:06 ?18次下載
    <b class='flag-5'>STM32CubeIDE</b>安裝-NSIS Error問題

    STM32CubeIDE的MCU開發(fā)

    以前做stm32嵌入式開發(fā)均使用的是破解版的keil軟件,現(xiàn)在工作需要無法按照此步驟進(jìn)行,最近針對(duì)ST官方免費(fèi)軟件STM32CubeIDE進(jìn)行了相關(guān)調(diào)研工作。1 STM32CubeIDE簡(jiǎn)介目前主流
    發(fā)表于 12-05 12:21 ?26次下載
    <b class='flag-5'>STM32CubeIDE</b>的MCU開發(fā)

    STM32CubeIDE生成的工程

    近日接到一客戶需求,其欲在 STM32CubeIDE 中指定堆(Heap)的地址到某一專用的RAM 中。
    的頭像 發(fā)表于 07-27 09:40 ?3014次閱讀

    STM32CUBEIDE(1)----安裝

    概述 STM32CubeIDE是一體式多操作系統(tǒng)開發(fā)工具,是STM32Cube軟件生態(tài)系統(tǒng)的一部分。 STM32CubeIDE是一種高級(jí)C/C++開發(fā)平臺(tái),具有STM32微控制器和微處
    的頭像 發(fā)表于 11-22 09:52 ?2598次閱讀
    <b class='flag-5'>STM32CUBEIDE</b>(1)----安裝

    STM32CubeIDE安裝指南

    電子發(fā)燒友網(wǎng)站提供《STM32CubeIDE安裝指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 15:44 ?7次下載
    <b class='flag-5'>STM32CubeIDE</b>安裝指南

    巧用 STM32CubeIDE 編譯警告

    巧用 STM32CubeIDE 編譯警告
    的頭像 發(fā)表于 10-25 16:33 ?2029次閱讀
    巧用 <b class='flag-5'>STM32CubeIDE</b> <b class='flag-5'>之</b>編譯警告

    STM32CubeIDE實(shí)用技巧仿真帶外擴(kuò)FLASH的工程

    電子發(fā)燒友網(wǎng)站提供《STM32CubeIDE實(shí)用技巧仿真帶外擴(kuò)FLASH的工程.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 16:55 ?8次下載
    <b class='flag-5'>STM32CubeIDE</b><b class='flag-5'>實(shí)用技巧</b><b class='flag-5'>之</b>仿真帶外擴(kuò)FLASH的工程

    STM32CubeIDE實(shí)用技巧配置空間

    電子發(fā)燒友網(wǎng)站提供《STM32CubeIDE實(shí)用技巧配置空間.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:07 ?8次下載
    <b class='flag-5'>STM32CubeIDE</b><b class='flag-5'>實(shí)用技巧</b><b class='flag-5'>之</b><b class='flag-5'>配置</b>堆<b class='flag-5'>空間</b>

    STM32CubeIDE實(shí)用技巧ld鏈接文件

    電子發(fā)燒友網(wǎng)站提供《STM32CubeIDE實(shí)用技巧ld鏈接文件.pdf》資料免費(fèi)下載
    發(fā)表于 09-20 10:31 ?2次下載
    <b class='flag-5'>STM32CubeIDE</b><b class='flag-5'>實(shí)用技巧</b><b class='flag-5'>之</b>ld鏈接文件