久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1802|回復: 1
打印 上一主題 下一主題
收起左側

以為是sizeof問題,后來發現是C語言指針定義問題,記錄下遇到的問題(1)

[復制鏈接]
跳轉到指定樓層
樓主
ID:251368 發表于 2022-3-2 23:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
typedef struct
{
e_uint32_t r0;
e_uint32_t r1;
e_uint32_t r2;
e_uint32_t r3;

e_uint32_t r12;
e_uint32_t lr;
e_uint32_t pc;
e_uint32_t xpsr;        
}e_cpu_reg;

typedef struct
{
e_uint32_t r4;
e_uint32_t r5;
e_uint32_t r6;
e_uint32_t r7;

e_uint32_t r8;
e_uint32_t r9;
e_uint32_t r10;
e_uint32_t r11;
        
e_cpu_reg cpu_reg_autosave;        
}e_cpu_reg_to_save;


void *e_thread_sp_init(e_thread *thread)
{
e_uint32_t        *stk;  //////指針類型定義錯誤,造成極其嚴重的后果。(應改為e_uint8_t)
e_cpu_reg_to_save *cpu_save_reg;
        
stk =  thread -> stack_addr;///獲取任務的堆棧        
stk = stk + thread->size;/////取得任務的堆棧最大值,因為是向下生長的
stk = (stk - (((e_uint32_t)stk) % 8));        /////模8處理,地址不
stk = stk - (sizeof(e_cpu_reg_to_save));////從底部騰出CPU需要保存的寄存器占用的地址
         
cpu_save_reg        = (e_cpu_reg_to_save *)stk;
        
cpu_save_reg ->cpu_reg_autosave.r0= 0x0;        
cpu_save_reg ->cpu_reg_autosave.r1 = 0x1;
cpu_save_reg ->cpu_reg_autosave.r2 = 0x2;
cpu_save_reg ->cpu_reg_autosave.r3 = 0x3;
cpu_save_reg ->cpu_reg_autosave.r12 = 0x12;         
        
cpu_save_reg ->cpu_reg_autosave.lr = 0xdeadbeef;
cpu_save_reg ->cpu_reg_autosave.pc = (e_uint32_t)(thread -> program);
cpu_save_reg ->cpu_reg_autosave.xpsr = 0x01000000;
         
cpu_save_reg ->r4  = 0x04;
cpu_save_reg ->r5  = 0x05;
cpu_save_reg ->r6  = 0x06;
cpu_save_reg ->r7  = 0x07;
cpu_save_reg ->r8  = 0x08;
cpu_save_reg ->r9  = 0x09;
cpu_save_reg ->r10 = 0x0a;
cpu_save_reg ->r11 = 0x0b;

return stk;
}


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:251368 發表于 2022-3-3 16:16 | 只看該作者
本帖最后由 songjie_he 于 2022-3-3 16:18 編輯

這個是我自己寫的RTOS中任務堆棧初始化的函數,僅供參考,參考的是RT_THREAD。適用于堆棧向下生長的處理器。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲第一黄色网 | 日韩精品一区二区三区在线播放 | 国产精品毛片av一区 | 亚洲一区二区三区 | 久久久国产精品视频 | www国产亚洲精品久久网站 | 在线看成人av | 欧美高清视频 | 欧美日韩1区2区3区 欧美久久一区 | 成人精品啪啪欧美成 | 成人免费观看视频 | 日韩精品1区2区3区 成人黄页在线观看 | 91国在线视频 | 91在线精品一区二区 | 久久成人精品 | 亚洲免费视频网站 | 在线观看www高清视频 | 亚洲综合色视频在线观看 | 色综合久久久 | 四色成人av永久网址 | 午夜天堂精品久久久久 | 日日夜夜免费精品视频 | 91在线成人 | 国产精品亚洲综合 | www.天天操| 婷婷国产一区二区三区 | 久久精品视频免费观看 | 黑人巨大精品欧美一区二区免费 | 中文字幕在线电影观看 | 国产一区二区影院 | 国产精品欧美一区二区三区不卡 | 在线观看www高清视频 | 九色视频网站 | 国产精品永久 | 亚洲网在线 | 综合色播 | 亚洲第一区久久 | 国产精品视频一区二区三区 | 欧美综合一区二区三区 | 亚洲欧美中文字幕 | 日韩av在线一区 |