iT邦幫忙

risc-v相關文章
共有 131 則文章
鐵人賽 Software Development DAY 9

技術 DAY9: RISC-V: IMSIC(一)

tags: 鐵人賽 0. 前言 建議先觀看之前的文章唷 AIA 簡介 AIA 下所新增的 CSR 今天開始介紹 IMSIC,預計會分為五天,每天學習...

鐵人賽 Software Development DAY 10

技術 Day-09 xv6 Paging, Page Table

前言 在最一開始的時候,我們知道作業系統有一個很重要的目標,便是做到隔離性的部分,而隔離性這一部分的實作和虛擬記憶體管理有著很大的關係,以下將會介紹記憶體地址...

鐵人賽 Software Development DAY 19

技術 Day-18 Page Fault Overview

前言 我們在前面花了 5 個篇章對於 trap 進行了完整的介紹,並且瞭解了 trap 處理得具體流程,今天我們將看到 page fault 所造成的 tra...

技術 |1-4|多功能教學實習板

多功能教學實習板可以很彈性的應用於各種不同型式的微電腦主控板,學實習板外型如下所示: 直流電源及三色LED電路,如下圖(a)~(c)所示: 圖(a) 直流電...

鐵人賽 Software Development DAY 16

技術 Day-15 xv6 Trap (user mode): Trace Trap

前言 前面看完了 ecall 的前後變化,接下來我們將繼續深入追蹤 trap 的流程,查看是如何進行整個 user mode 到 supervisor mod...

鐵人賽 Software Development DAY 9

技術 Day-08 xv6 啟動與架構

前言 今日希望通過看到整個 xv6 的啟動過程,來一步步地看到作業系統相關的設計議題,如 memory page 機制,lock,process 等等。 啟動...

鐵人賽 Software Development DAY 26

技術 Day-25 xv6 Thread, Switch Thread

前言 在這一篇文章中,我們將會介紹何謂 Thread,和 Process 之間有什麼樣的區別,前面介紹的 Thread 和 Process 的差別是理論上的差...

技術 |2-1|Corvette-T1的Arduino IDE開發環境

必須執行Arduino IDE的1.8.1以後版本,才可以使用Arduino IDE在Corvette-T1上開發應用程式。 打開Arduino IDE...

鐵人賽 Software Development DAY 27

技術 予焦啦!基本的命令列

本節是以 Golang 上游 7ee4c1665477c6cf574cb9128deaf9d00906c69f 為基準做的實驗 予焦啦!昨天我們終於抵達了...

鐵人賽 Software Development DAY 23

技術 Day-22 Race Condition, Spin Lock

前言 如果一個應用程式想要使用多個 CPU 的核心 (thread),並且使用了 System call,將會觸發 trap,而多個核心使用 System c...

技術 RISC-V on Rust 從零開始(10) - 實作ELF loader

在實際的硬體上,開機後執行的第一道指令已經燒錄在ROM上面,對於CPU來說程式在開機時就已經位於位址空間的某處,但對於我們的模擬器來說,開機後的記憶體是一片空白...

鐵人賽 Software Development DAY 13

技術 予焦啦!裝置樹(DTB)解析

本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 予焦啦!昨日打通了 thro...

鐵人賽 Software Development DAY 8

技術 DAY8: RISC-V: AIA 架構下新增的 CSR

tags:鐵人賽 0. 前言 首先要先知道過去有哪些 CSR,以及這些 CSR 所代表的意義,接著再來認識有新增了哪些 CSR。前些日子有介紹了許多 CSR 可...

技術 RISC-V on Rust 從零開始(4) - Rust 測試工具

這次要來談的是Rust的測試框架,並且重新調整目錄架構。 撰寫測試 Rust本身就自帶測試框架,無須安裝額外library,這邊直接把上次所寫的main改寫成t...

鐵人賽 Software Development DAY 24

技術 予焦啦!Golang 執行期的鎖

予焦啦!我們昨日實作完簡易排程,確保 Golang 執行緒(M)都會被排到 CPU 資源。但是卻有不定時炸彈會出現,那就是試圖解鎖非上鎖的鎖的錯誤;大部分時候都...

鐵人賽 Software Development DAY 22

技術 予焦啦!Golang 執行緒與作業系統執行緒

本節是以 Golang 上游 6a79f358069195e1cddb821e81fab956d9a0c7d1 為基準做的實驗 予焦啦!昨日以前的第三章解決...

鐵人賽 Software Development DAY 18

技術 DAY18: RISC-V: Machine level 的 Interrupt

tags: 鐵人賽 0. 前言 定義 major interrupt 以及 默認的優先權 下圖列出目前 risc-v 所定義 major interrupt 的...

鐵人賽 Software Development DAY 3

技術 予焦啦!產出可執行檔

本節是以 Golang 上游 1a708bcf1d17171056a42ec1597ca8848c854d2a 為基準做的實驗。 本日的內容資料很多,但或...

鐵人賽 Software Development DAY 22

技術 DAY22: RISC-V:AIA 之 IPI(Interprocessor Interrupts)

tags: 鐵人賽 前言 今天的 title 有回文ㄝ cool~ 介紹 默認情況下,除非平台具有不同 IPI 機制,否按照 Privileged SPEC ,...

鐵人賽 Software Development DAY 23

技術 DAY23: RISC-V: IOMMU 對 VM MSI 的支援

tags: 鐵人賽 介紹 當系統中存在 IOMMU ,使運行中的 VM(virtual machine)的 guest os 可以直接控制 I/O 設備。IOM...

鐵人賽 Software Development DAY 6

技術 予焦啦!使用暫存器除錯

本節是以 Golang 上游 ee91bb83198f61aa8f26c3100ca7558d302c0a98 為基準做的實驗。 予焦啦!回顧第零章,我們有...

鐵人賽 Software Development DAY 7

技術 予焦啦!前期分析

本節是以 Golang 上游 ee91bb83198f61aa8f26c3100ca7558d302c0a98 為基準做的實驗。 回顧昨日,我們發現過去一直...

鐵人賽 Software Development DAY 21

技術 Day-20 UART Driver TOP

前言 前面我們知道在 xv6 啟動後,Shell 會輸出 $ 到 Console 上,而我們可以追蹤產生 $ 的行為了解 UART 的運作,以及介紹一下 Dr...

鐵人賽 Software Development DAY 11

技術 予焦啦!在 ethanol 中啟用虛擬記憶體

本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 予焦啦!昨日直接瞄準一組虛擬...

鐵人賽 Software Development DAY 12

技術 Day-11 xv6 process virtual address space

前言 我們昨天看到了 kernel space 中的 kernel virtual address space,今天我們會看到 user virtual ad...

鐵人賽 Software Development DAY 1

技術 Day-00 系列文簡介

大家好,在本系列文中,將以 RISC-V xv6 以主要的學習目標來學習作業系統,希望本文可以達到以下幾個目標 藉由 top-down 的方式學習 xv6 的...

技術 |1-2|泰凌(Telink)系列微控器

晶心(Andes)科技公司將RISC-V核心授權給泰凌(Telink)半導體公司來生產晶片,它是物聯網解決方案系列的最新一代SoC,並內含高性能32-bit的R...

鐵人賽 Software Development DAY 18

技術 Day-17 Trap (supervisor mode, machine mode), conclusion Trap in xv6

前言 我們簡單的回顧來自於 user mode 的 trap 的流程,整個流程為 uservec 到 usertrap() 再到 usertrapret()...

鐵人賽 Software Development DAY 10

技術 DAY10: RISC-V: IMSIC(二)

tags: 鐵人賽 0. 前言 昨日已經先簡單介紹 IMSIC 、 interrupt ID,以及 interrupt file,進天繼續介紹吧。 1. Int...

鐵人賽 Software Development DAY 22

技術 Day-21 UART Driver Bottom

前言 繼續前面 UART TOP 的部分,下面將介紹 UART Bottom 的部分,也就是關於 Interrupt 的處理,並從 Interrupt 的處理...