AG32 mcu+cpld 聯合編程(概念及流程)

在使用mcu+cpld聯合編程之前,請確認已經熟練掌握mcu的使用方法,并且對cpld編程(verilog語言)有一定的基礎。

另外,對AHB總線也需要有一定的了解。

這個章節分為兩部分:

第一部分,展示聯合編程中各種概念和操作流程;

第二部分,從具體案例出發,由淺到深來描述各種常用的編程技巧。

.

以下描述為第一部分(概念和流程)。如要查看實例講解,請參考第二部分。

.

一、前述

在AG32芯片(所有型號)中,都有內嵌2K的邏輯門,可供fpga/cpld來使用。

也就是說,使用AG32的芯片時,有三種選擇:

  1. 只使用mcu部分;
  2. 只使用cpld部分;
  3. 同時使用mcu和cpld(即:mcu和cpld聯合編程);

如果:

用于1(僅用做mcu),不必關注此文檔。

用于2(僅用做cpld),硬件設計和操作流程,請跳轉到“純粹cpld編程”,也不必關注此文檔。

用于3(mcu和cpld聯合編程):請按照該文檔的描述,先完整走一個流程。

.

二、基礎了解

1. AG32整顆芯片包含兩部分:mcu和cpld。

??這兩部分是相互獨立的(各自編譯、各自下載),但又可以相互連通起來(信號連通)。

??芯片要把這兩部分的bin都燒錄進去,才能運行起來。

2. mcu和cpld到外部Pin腳的連通,是通過VE文件來配置的。

??跟ST芯片每個Gpio對應某個固定Pin腳不同,在AG32中,所有的Gpio/大部分的外設,對外引腳并不是定死的。而是需要在VE文件中指定對應。

??VE中,除了配置Gpio到Pin的關聯,還可以配置mcu到cpld之間的信號關聯。

3. Mcu+cpld聯合編程時,cpld工程是由vscode的“prepare LOGIC”命令自動生成的。

??注意:聯合編程時,cpld工程不能手工通過supra建立。

??cpld的對外接口,也是依托于vscode工程來的,不再是孤立的。

??cpld中的top module的信號輸入,是關聯到mcu工程的(由VE配置出來)。

4. cpld在聯合編程中的定位:

??整顆芯片運行時,需要兩個bin:mcu的bin和cpld的bin。

??如果芯片中只使用mcu不使用cpld:

??此時,VE文件里只配置mcu用到的Pin腳即可。

??這種情況下,vscode工程中點“upload LOGIC”時,會自動生成默認logic(該logic中“用戶邏輯”為空而已),并編譯出bin并燒錄。

??整個過程中,logic部分對開發者來說是無感的。

??如果芯片中同時使用mcu和cpld:

??那么要把工程配置成“自定義logic”。

??此時VE文件里需要配置用到的mcu和pin之間、mcu和cpld之間、cpld和pin之間,三種情況下的信號關聯。

??這種情況下,VSCode下點“prepare LOGIC”按鈕,會為開發者生成cpld的框架工程。開發者需要在這個框架下完成cpld邏輯的編寫。這個編寫調試中,開發者持有主動權。等全部開發完成,并編譯出bin,燒錄就又回到VSCode去燒錄。

這個過程,除了logic需要用戶自己編寫編譯外,從更外層的視角看,整個流程還是跟“默認Logic”是相同的。

.

三、安裝軟件

mcu需要使用到的VSCode前邊已經安裝過了。

fpga/cpld需要使用Supra和Altera Quartus II兩個軟件來編程。

其中:

Supra.exe軟件在安裝完SDK后,已經在SDK路徑下了,可直接使用(無需額外安裝Supra)。

(注:如果在SDK路徑下沒有找到Supra.exe,可進入安裝路徑\AgRV_pio\packages\tool-agrv_logic\bin\去找到。同時建議手工新建一個快捷方式到SDK路徑下以方便后續使用)

Altera Quartus II軟件需要用戶自行安裝,安裝后再安裝對應的器件庫。

(注意:Quartus不能使用Lite版本,需要使用Full版本。最好使用版本:Quartus II 64-Bit Version 13.0.1 Build 232 06/12/2013 SJ Full Version)

在這兩個軟件中,

Quartus工具用來編寫vlog代碼并導出vo文件,Supra工具使用vo文件來生成最終的bin。

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

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

相關文章

Hadoop調度器深度解析:FairScheduler與CapacityScheduler的優化策略

Hadoop調度器概述在大數據處理的生態系統中,Hadoop作為分布式計算框架的核心,其資源調度機制直接決定了集群的吞吐效率和作業執行公平性。調度器作為Hadoop資源管理的中樞神經,通過協調計算資源與任務需求之間的動態平衡,成為支撐…

怎么自己搭建云手機

用閑置電腦搭建云手機 確保電腦安裝 Ubuntu 20.04(或其他支持Docker的Linux系統)。 安裝 Docker(運行云手機的核心工具)安裝Redroid(安卓容器)運行安卓容器就歐克啦。 用云服務器搭建(適合長…

網關:數據翻譯、中轉、協議轉換與邊緣計算

網關(Gateway)詳解:翻譯與中轉站的核心作用 在計算機網絡中,網關(Gateway)是一個非常重要的概念。它本質上是一個“翻譯中轉站”,其主要作用是將不同網絡之間的數據進行“翻譯”,并確…

UE5多人MOBA+GAS 番外篇:使用ECC(UGameplayEffectExecutionCalculation)制作傷害計算的流程

文章目錄定義一些屬性用于作為傷害基礎還有獲取要打出去的傷害創建一個ECC(里面執行傷害的計算)在執行ECC的GE之前需要修改ECC需要調用的值,也可以不改直接計算在屬性中監聽ECC輸出的那個值然后處理扣血定義一些屬性用于作為傷害基礎還有獲取…

SpringBoot實戰0-5

接口文檔:通俗的講,接口文檔能告訴開發者接口能返回的數據,以及為了獲取這些數據,開發者需要輸入什么樣的數據,請求哪個接口(即規范)為什么使用接口文檔:1、項目開發過程中前后端工程…

二、SpringBoot-REST開發

rest開發(表現形式轉換): 1、優點:隱藏訪問資源的行為,無法通過地址得知對資源是何種操作,書寫簡化 2、GET查詢 POST 新增/保存 PUT(修改/更新) DELETE(刪除)…

大數據之路:阿里巴巴大數據實踐——離線數據開發

數據開發平臺 統一計算平臺MaxCompute:主要服務于海量數據的存儲和計算 ,提供完善的數據導入方案, 以及多種經典的分布式計算模型,提供海量數據倉庫的解決方案,能夠更快速地解決用戶的海量數據計算問題,有效…

我的網頁聊天室設計

一、需求分析1.用戶管理模塊注冊功能實現一個注冊頁面。注冊頁面上包含了一個輸入框,輸入用戶名和密碼. 注冊成功后可以跳轉到登錄頁面.登錄功能實現一個登錄頁面。登錄頁面上包含一個輸入框。輸入用戶名和密碼. 登錄成功后可以跳轉到主頁面.2.主界面用戶信息左上角…

數據結構自學Days10 -- 二叉樹的常用實現

? 一、為什么要學習二叉樹? 1. 📦 組織數據的高效方式 二叉樹可以快速插入、刪除、查找數據,尤其在平衡時,時間復雜度為 $O(\log n)$。 適合表示分層結構(如組織結構、文件系統、語法樹)。 2. &#x…

Java注解家族--`@ResponseBody`

ResponseBody ResponseBody是 Spring 框架中的一個注解,在基于 Spring 的 Web 開發中扮演著重要角色,以下是對它的詳細總結: 1.定義與基本功能 定義:ResponseBody注解用于將 Controller 方法的返回值,通過適當的 HttpM…

react-window 大數據列表和表格數據渲染組件之虛擬滾動

簡介 React Window 是一個高效的 React 組件庫,專為渲染大數據列表和表格數據而設計。它通過”虛擬化”技術(也稱為”窗口化”或”列表虛擬化”)解決了在 React 應用中渲染大量數據時的性能問題。與傳統方法不同,React Window 只…

Eltable tree形式,序號列實現左對齊,并且每下一層都跟上一層的錯位距離拉大

要的是如圖所示效果序號加個class-name寫樣式然后給eltable加indent屬性就可以了,我設置的25

FOC算法中SIMULINK一些常用模塊(2)-Permanent Magnet Synchronous Machine模塊

一,介紹這三個模塊一起介紹了,由左到右,分別是電源模塊,驅動模塊和電機模塊。主要介紹一下電機模塊二,DC Voltage SourceDC Voltage Source 模塊是用于表示直流電壓源的基本組件,可以提供恒流直壓&#xff…

RPG62.制作敵人攻擊波數二:攻擊ui

1。經典創建userwidget,使用xmbtextblock,結構如下。然后設置動畫與音頻,上下的參數是一樣的,轉到圖表打開BP_SurvialGameMode2.再創建一個widget,結構如下新添的動畫打開XMBGameModeBase,創建構造函數AXMB…

DL00691-基于深度學習的軸承表面缺陷目標檢測含源碼python

DL00691-基于深度學習的軸承表面缺陷目標檢測含源碼python

Word 中為什么我的圖片一拖就亂跑,怎么精確定位?

核心原因:文字環繞方式 (Text Wrapping) 問題的根源在于圖片的**“文字環繞”**設置。 默認狀態:“嵌入型” (In Line with Text) 當您插入一張圖片時,Word默認會把它當作一個巨大的文字字符來處理。這就是為什么您拖動它時,它會像…

Linux物理地址空間入門:從硬件到內核內存的基石

目錄 一、物理地址空間是什么? 二、物理地址空間的構成:不僅僅是內存 三、Linux內核如何管理物理地址空間 (1)物理內存的碎片化問題 (2)物理地址的分區管理 (3)物理地址與內核…

【2025最新版】PDFelement全能PDF編輯器

工具https://pan.quark.cn/s/a56d17fd05dd強大全能的PDF編輯神器PDFelementPro 全能PDF工具套裝 PDF閱讀器 PDF創建器 PDF編輯器 PDF注釋器 PDF轉換器 OCR識別工具 表單填寫和創建 數據提取 批量處理 更多詳情萬興PDF專業版特性。格式轉換:PDFelement輕松…

基于單片機汽車駕駛防瞌睡防疲勞報警器自動熄火設計

(一)系統功能設計 51單片機汽車駕駛防疲勞防瞌睡報警器自動熄火15 本系統由STC89C52單片機、蜂鳴器、ADXL345重力加速度傳感器、繼電器控制、按鍵、指示燈及電源組成。 1、通過按鍵點亮led燈,代表車輛啟動和熄火。 2、車輛啟動后,…

OpenCV中的卷積高斯模糊與中值模糊

目錄 一、卷積高斯模糊 (Gaussian Blur) 1. 原理與數學基礎 2. OpenCV函數實現 3. 關鍵參數說明 4. 代碼示例 5. 特點與應用 二、中值模糊 (Median Blur) 1. 原理與數學基礎 2. OpenCV函數實現 3. 關鍵參數說明 4. 代碼示例 5. 特點與應用 三、兩種模糊方法對比分析…