Qemu-STM32(十):STM32F103開篇

簡介

本系列博客主要描述了STM32F103的qemu模擬器實現,進行該項目的原因有兩點: 作者在高鐵上,想在STM32F103上驗證一個軟件框架時,如果此時掏出開發板,然后接一堆的線,旁邊的人估計會投來異樣的目光,特別是,當不太幸運坐在了靠近過道的位置,那就更麻煩了,估計沒法進行代碼開發了。因此,作者決定開發這個模擬器該項目,只要打開電腦,就可以隨意的開發軟件功能;第二個原因,作者也在設計STM32F103的PCB板卡,在硬件板卡還沒焊接回來時,也可以提前進行產品原型的代碼開發。

模擬器功能

處理器

STM32F103C8T6 Cortex-M3@72MHz

RAM

20KB SRAM

ROM

128KB Flash

DMA

7個通道DMA傳輸

UART

3路UART;

CAN

1路CAN;

USB

1路USB;

GPIO

80 Port

LCD

支持SPI接口的OLED

I2c

2路

SPI

2路

ADC

2路

STM32F103 核心板

下圖是作者自己開發的一款STM32F103板卡。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74153.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74153.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74153.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

QT開發(6)--信號和槽

這里寫目錄標題 1. 信號和槽概述信號的本質槽的本質 2. 信號和槽的使用2.1 連接信號和槽2.2 文檔查詢 3.自定義信號和槽3.1 自定義槽3.2 自定義信號3.3 帶參數的信號和槽 4. 信號和槽的斷開 1. 信號和槽概述 在Qt中,??和控件的每次交互過程稱為?個事件。?如&quo…

【前端】Canvas畫布實現在線的唇膏換色功能

【前端】Canvas畫布實現在線的唇膏換色功能 推薦超級課程: 本地離線DeepSeek AI方案部署實戰教程【完全版】Docker快速入門到精通Kubernetes入門到大師通關課AWS云服務快速入門實戰目錄 【前端】Canvas畫布實現在線的唇膏換色功能背景概述以下是我們的實現方法!第一步 — 找…

異步編程與流水線架構:從理論到高并發

目錄 一、異步編程核心機制解析 1.1 同步與異步的本質區別 1.1.1 控制流模型 1.1.2 資源利用對比 1.2 阻塞與非阻塞的技術實現 1.2.1 阻塞I/O模型 1.2.2 非阻塞I/O模型 1.3 異步編程關鍵技術 1.3.1 事件循環機制 1.3.2 Future/Promise模式 1.3.3 協程(Cor…

字節跳動算法高頻題:動態規劃最優模板

本文系統梳理字節跳動近三年算法面試中的動態規劃(DP)高頻題型,提煉出適用于80%場景的通用解題模板。通過背包問題、字符串處理、狀態壓縮等六大核心模塊解析,結合跳槽、股票交易、編輯距離等15道真題案例,揭示動態規劃…

QT網頁顯示的幾種方法及對比

一.直接跳轉打開網頁 1.使用QDesktopServices::openUrl調用系統瀏覽器 原理:直接調用操作系統默認瀏覽器打開指定URL,不在應用程序內嵌入網頁。 優點: 實現簡單,無需額外模塊或依賴。 適用于僅需跳轉外部瀏覽器的場景。 缺點&…

【趙渝強老師】在Docker中運行達夢數據庫

Docker是一個客戶端服務器(Client-Server)架構。Docker客戶端和Docker守護進程交流,而Docker的守護進程是運作Docker的核心,起著非常重要的作用(如構建、運行和分發Docker容器等)。達夢官方提供了DM 8在Doc…

python轉換wav到mp3

尺寸好大,8G多,但是,領動的車機不識別.wav格式的音樂。 用python轉換一下。 import os from pydub import AudioSegment filesos.listdir(E:\\dy2023) for f in files:if f.endswith(.wav):try:wavAudioSegment.from_wav(E:\\dy2023\\%s % f…

創建自己的github.io

1、創建GitHub賬號 GitHub地址:https://github.com/ 點擊Sign up創建賬號 如果已創建,點擊Sign in登錄 2、創建倉庫 假設Owner為username,則Repository name為username.github.io說明: 1、Owner為用戶名 2、Repository name為倉…

Linux系統docker部署Ollama本地大模型及部署Hugging Face開源模型,ollama相關注意點,非ollama模型創建,模型量化,顯存建議

本文主要描述在Linux系統使用docker部署ollama自有模型以及Hugging Face開源模型,也涉及到一些相關注意點,歡迎溝通討論~ 拉取鏡像 拉取ollama最新鏡像:docker pull ollama/ollama:latest 運行ollama 執行:docker run -d --res…

在 Elasticsearch 中擴展后期交互模型 - 第 2 部分 - 8.18

作者:來自 Elastic Peter Straer 及 Benjamin Trent 本文探討了如何優化后期交互向量,以適應大規模生產工作負載,例如減少磁盤空間占用和提高計算效率。 在之前關于 ColPali 的博客中,我們探討了如何使用 Elasticsearch 創建視覺搜…

JAVA泛型的作用

?1. 類型安全(Type Safety)? 在泛型出現之前,集合類(如 ArrayList、HashMap)只能存儲 Object 類型元素,導致以下問題: ?問題?:從集合中取出元素時,需手動強制類型轉…

深入理解 JavaScript/TypeScript 中的假值(Falsy Values)與邏輯判斷 ?

🕹? 深入理解 JavaScript/TypeScript 中的假值(Falsy Values)與邏輯判斷 在 JavaScript/TypeScript 開發中,if (!value) 是最常見的條件判斷之一。它看似簡單,卻隱藏著語言的核心設計邏輯,也是許多開發者…

【AI速讀】30分鐘搭建持續集成:用Jenkins拯救你的項目

每個開發者都踩過的坑 你有沒有這樣的經歷?花了一周時間改代碼,自信滿滿準備提交,結果合并同事的更新后,項目突然編譯失敗,測試跑不通。你焦頭爛額地排查問題,老板還在催進度……但明明不是你的錯! 這種“集成地獄”幾乎每個團隊都遇到過。傳統的手動集成方式(比如每周…

doris:負載均衡

用戶通過 FE 的查詢端口(query_port,默認 9030)使用 MySQL 協議連接 Doris。當部署多個 FE 節點時,用戶可以在多個 FE 之上部署負載均衡層來實現 Doris 查詢的高可用。 本文檔介紹多種適用于 Doris 的負載均衡方案,并…

【大語言模型_6】mindie啟動模型錯誤整理

一、啟動報 [hccl_runner.cpp:141] AllGatherHcclRunner:0 HcclCommInitRootInfo fa il, error:2, rank:0, rankSize:2 背景:運行DeepSeek-R1-Distill-Qwen-14B模型,在2張300 P卡可以運行,單獨一張啟動報以上錯誤。 問題分析&…

dcat-admin已完成項目部署注意事項

必須 composer update 更新項目php artisan admin:publish 發布dcatadmin的靜態資源手動創建目錄(如果沒有) storage/appstorage/framework/cachestorage/framework/sessionsstorage/framework/views 需檢查 php不要禁用以下函數 putenvsymlinkproc_…

【計算機網絡】網絡簡介

文章目錄 1. 局域網與廣域網1.1 局域網1.2 廣域網 2. 路由器和交換機3. 五元組3.1 IP和端口3.2 協議3.3 協議分層 4. OSI七層網絡協議5. TCP/IP五層模型5.1 TCP/IP模型介紹5.2 網絡設備所在分層 6. 封裝與分用6.1 數據包的稱謂6.2 封裝6.3 分用 1. 局域網與廣域網 1.1 局域網 …

在QT中進行控件提升操作

目錄 一、概述 二、功能需求 三、提升操作 1)拖入標準控件 2)自定義類 3)提升控件 一、概述 QT中提供的標準控件能夠滿足我們大多數情況下的功能需求,但是在一些特殊應用場合,我們可能需要對控件的功能進行擴展&am…

如何自定義知行之橋Webhook端口返回的Response消息

一、Webhook端口功能概述 知行之橋的Webhook端口提供靈活的消息響應機制,支持用戶通過修改配置文件自定義返回的消息體內容,能夠查看是否調用接口成功、數據是否推送成功以及自定義返回給用戶端的響應內容。 本指南將詳解如何通過腳本配置實現以下需求…

pnpm config set ignore-workspace-root-check true

異常 ERR_PNPM_ADDING_TO_ROOT? Running this command will add the dependency to the workspace root, which might not be what you want - if you really meant it, make it explicit by running this command again with the -w flag (or --workspace-root). If you don…