找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于51內(nèi)核的單片機啟動流程的理解

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:929089 發(fā)表于 2024-9-30 09:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
51內(nèi)核以STC系列的STC8H8K64U單片機為例,采用哈佛結構,即程序和數(shù)據(jù)分開存儲,那編譯生成的HEX文件下載到flash后,系統(tǒng)復位上電,是不是需要將數(shù)據(jù)先從flash或者說是ROM中復制到SRAM中呢?然后程序計數(shù)器開始讀指令運行?有沒有大佬講下這個流程,或者說想知道這個過程需要看什么書呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1109793 發(fā)表于 2024-9-30 16:33 | 只看該作者
復位從0000開始吧,沒有啥SRAM吧,直接在flash中運行吧
回復

使用道具 舉報

板凳
ID:65956 發(fā)表于 2024-9-30 19:00 | 只看該作者
就跟原來51單片機一樣用就可以了
回復

使用道具 舉報

地板
ID:828160 發(fā)表于 2024-10-1 12:10 | 只看該作者
51是馮諾依曼結構吧,STM8、ARM才是哈佛結構。
回復

使用道具 舉報

5#
ID:57657 發(fā)表于 2024-10-1 22:43 | 只看該作者
STC單片機上電需要執(zhí)行一段ISP引導程序(固定不可修改)用于檢測有無下載請求,然后才會執(zhí)行用戶程序。
回復

使用道具 舉報

6#
ID:929089 發(fā)表于 2024-10-5 15:43 | 只看該作者
npn 發(fā)表于 2024-10-1 22:43
STC單片機上電需要執(zhí)行一段ISP引導程序(固定不可修改)用于檢測有無下載請求,然后才會執(zhí)行用戶程序。

嗯嗯明白
回復

使用道具 舉報

7#
ID:929089 發(fā)表于 2024-10-5 15:45 | 只看該作者
單片機研究協(xié)會 發(fā)表于 2024-10-1 12:10
51是馮諾依曼結構吧,STM8、ARM才是哈佛結構。

啊,這樣的啊
回復

使用道具 舉報

8#
ID:929089 發(fā)表于 2024-10-5 15:45 | 只看該作者
xiaobendan001 發(fā)表于 2024-9-30 16:33
復位從0000開始吧,沒有啥SRAM吧,直接在flash中運行吧

我看手冊上都有標sram大小
回復

使用道具 舉報

9#
ID:624769 發(fā)表于 2024-10-5 21:34 | 只看該作者
no_ending 發(fā)表于 2024-10-5 15:45
我看手冊上都有標sram大小

SRAM 是放變量的,程序是直接在 Flash 運行的。
回復

使用道具 舉報

10#
ID:384109 發(fā)表于 2024-10-6 13:42 | 只看該作者
這個問題應該先學習了51單片機的基礎內(nèi)容然后再考慮,沒有基礎知識考慮超過基礎知識的內(nèi)容也只會一知半解
回復

使用道具 舉報

11#
ID:123289 發(fā)表于 2024-10-6 17:07 | 只看該作者
傳統(tǒng)的51,從【程序存儲器】的0000單元開始取指運行。
早期這個【程序存儲器】在CPU外面,需要外置,如8039,8035,8031。
后期這個【程序存儲器】與CPU集成到一起了,如8051,8052。
它門的程序都需要用專用的燒寫器進行燒錄,而后運行程序。
現(xiàn)在的51,將【燒錄器】也與CPU集成到一起了,如STC系列。不過它面臨一個新的問題:開機后是進行燒錄呢?還是去執(zhí)行0000處的用戶程序呢?
它是這樣處理:
冷起動上電后,運行燒錄程序(這段程序是設計CPU的人設計好的,在CPU內(nèi),有的不占用程序空間,有的會占用程序空間,由機型決定。),它先檢測燒錄口的IO線上,有無約定的數(shù)據(jù)輸入,有則燒錄;無則轉(zhuǎn)入0000取指運行用戶程序。
所以燒錄程序時,應該先下達燒錄命令(讓CPU的IO口出現(xiàn)約定的數(shù)據(jù)),而后再冷起動一下(上電)。
很多人燒錄不了,就是順序不對。
而熱起動,則是直接運行用戶0000處的程序了。
回復

使用道具 舉報

12#
ID:879348 發(fā)表于 2024-10-7 11:08 | 只看該作者
51不是哈弗,啟動流程這玩意只有你自己去設計一款單片機才會真正明白,比如用fpga做一款你自己的51單片機
回復

使用道具 舉報

13#
ID:961114 發(fā)表于 2024-10-12 10:43 | 只看該作者
你去冠方 看何賓老師的面肥教學視頻, 有這部分的講解
回復

使用道具 舉報

14#
ID:929089 發(fā)表于 2024-10-14 17:54 | 只看該作者
人中狼 發(fā)表于 2024-10-6 13:42
這個問題應該先學習了51單片機的基礎內(nèi)容然后再考慮,沒有基礎知識考慮超過基礎知識的內(nèi)容也只會一知半解

嗯嗯
回復

使用道具 舉報

15#
ID:929089 發(fā)表于 2024-10-14 17:55 | 只看該作者
yzwzfyz 發(fā)表于 2024-10-6 17:07
傳統(tǒng)的51,從【程序存儲器】的0000單元開始取指運行。
早期這個【程序存儲器】在CPU外面,需要外置,如803 ...

嗯嗯,受教了,多謝
回復

使用道具 舉報

16#
ID:929089 發(fā)表于 2024-10-14 17:58 | 只看該作者
STC莊偉 發(fā)表于 2024-10-12 10:43
你去冠方 看何賓老師的面肥教學視頻, 有這部分的講解

好的
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表