0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

標簽 > ch582

ch582

+關注 0人關注

CH582為RISCV架構的32位微處理器,集成開發環境使用基于Eclipse的MounRiver集成開發環境,官方為CH582提供了標準的庫函數,位于“。/EVT/EXAM/SRC”。

文章: 1
瀏覽: 1160
帖子: 173

ch582簡介

  CH582集成BLE無線通訊的32位RISC-V內核微控制器。片上集成2Mbps低功耗藍牙BLE通訊模塊、2個全速USB主機和設備控制器及收發器、2個SPI、4個串口、ADC、觸摸按鍵檢測模塊、RTC等豐富的外設資源。

  CH582為RISCV架構的32位微處理器,集成開發環境使用基于Eclipse的MounRiver集成開發環境,官方為CH582提供了標準的庫函數,位于“。/EVT/EXAM/SRC”。

  接下來聚焦提供的標準庫和TRM。

  連接命令文件和系統存儲資源

  按照官方給的器件手冊,該開發板應當包含4段Flash區域,但是連接命令文件中僅僅啟用了兩個,即RAM(32k),和FLASH(448k),這些資源足夠應付絕大多數的應用場景。另外兩個沒有寫明在連接命令文件中的項目分為為:

  24KB 系統引導程序存儲區BootLoader

  8KB系統非易失配置信息存儲區InfoFlash

  如果需要使用則需要在連接命令文件中添加如下代碼:

  MEMORY

  {

  BOOT (rx) : ORIGIN = 0x00078000, LENGTH = 24K

  INFO (rw) : ORIGIN = 0x0007E000, LENGTH = 8K

  }

  ?

  SECTIONS

  {

  .bootloader :

  {

  KEEP(*(SORT_NONE(.bootloader)))

  。 = ALIGN(4);

  } 》BOOT AT》BOOT

  .infoflash :

  {

  。 = ALIGN(4);

  } 》INFO AT》INFO

  }

  在C語言代碼中如果需要使用則需要告訴鏈接器,需要保存的段,需要使用下面的聲明方法:

  __attribute__((section(“.bootloader”))) // 用來修飾需要保存在BootLoader段的代碼和數據

  __attribute__((section(“.infoflash”))) // 用來修飾需要保存在InfoFlash段的數據

  這些代碼保留待用。后面的具體實現過程中可能需要。

  另外在連接命令文件中提供了一些常量,將來可能供匯編代碼使用。(可以看完下一節之后看這里,_highcode_vma_start常量等都是通過直接在這里通過PROVIDE關鍵字導出的)。

  另外我們需要關注到,通過“用戶級非易失配置信息”配置可以使能bootloader。在使能之后才會默認從bootloader段代碼開始執行。

  CFG_BOOT_EN = 1; // 使能BootLoader

  片上外設也分配了相應的地址,但是在連接命令文件中并沒有分配相應的存儲空間,這與我平時使用ti公司的相關DSP產品實現方式不同??梢詮脑创a中找到實現,以TMR0為例,我們可以找到下面的代碼:

  #define R32_TMR0_CONTROL (*((volatile unsigned long)0x40002000)) // RW, TMR0 control

  可以看到源代碼中也是通過直接使用volatile關鍵字實現對于特定外設進行配置的,但是并沒有在連接命令文件中寫明,也就是直接使用了宏模式,而不是使用連接命令文件綁定的變量模式。

  評注:我在最開始學習TI-DSP的時候,也是通過volatile關鍵字直接綁定地址空間的方式來直接對外設的配置寄存器直接實現讀寫的。這種方法上手快,容易理解。但是TI選擇使用綁定某一個外設變量和一段地址空間這種實現方式的優勢在于DSP將特定的外設的一組寄存器編址在一起,可以容易地通過結構體實現訪問。

  初始化啟動代碼

  接下來可以找到初始化啟動代碼“startup_CH583.S”,可以簡單粗略地觀察一下其中的布置。都是熟悉的配方,下面通過偽代碼簡單概括一下框架,然后逐個詳細分析。

  _start: // .init

  jmp _handle_reset

  _vector_base: // .vector

  // 這里寫明了所有的中斷類型

  // 為所有的中斷函數聲明了weak標識符修飾的函數

  handle_reset: // .handle_reset

  // 構建堆??蚣?/p>

  // 將必要的代碼、數據地址加載到寄存器中,

  // 初始化全局變量段

  // 啟用芯片功能:流水線控制位 & 動態預測控制位;打開嵌套中斷、硬件壓棧功能; 配置向量表模式為絕對地址模式

  // 將程序的控制權交給main函數

  la t0, main

  csrw mepc, t0

  mret

  與其他類型的芯片啟動過程相似。如果有其他朋友需要研究其中的內容,可以仔細分析一下連接命令文件,其中提供了各類代碼的加載地址。

  評注:簡單,明快,清晰,值得學習。

  匯編-C接口

  如果考慮仔細研究芯片的具體性能和芯片的一些具體實現,就需要關注RVMSIS文件夾中的兩個文件。兩個文件都提供了一些封裝好的匯編語句,方便用戶直接調用從而實現對于特定功能的使能、關閉、檢測。

  在core_riscv.h中提供了一系列的內聯函數,主要是針對PFIC(Programmable Fast Interrupt Controller)的相關設置,東西比較細碎,不做更深入的閱讀,用到再說,直接繼續。

  標準外設庫

  接下來到最關鍵也是作為用戶最應關注的部分——外設庫。接下來將逐步分析芯片具有的各類外設。

  首先是片上總硬件資源匯總:2Mbps 低功耗藍牙BLE 通訊模塊、2 個全速USB主機和設備控制器及收發器、2 個SPI、4 個串口(UART)、1個I2C接口、1個12位14通道(實際寫在代碼中可以外界相連的數目,不包括2個內部通道)ADC、14通道的觸摸按鍵檢測模塊、RTC、電源控制器。

  接下來從外設庫和提供手冊的角度分析各個外設的使用方法和特性。

  GPIO

  芯片一共提供了40個IO口,其中GPIOA16個,GPIOB24個,其中GPIOB中16個通道具有輸入中斷功能,其他8個不具備輸入中斷功能。

  要訪問GPIO的輸入輸出數據需要借助引腳輸入寄存器:R32_Px_PIN和引腳輸出寄存器R32_Px_OUT,作為GPIO使用時,需要首先借助R32_Px_DIR寄存器寫入GPIO的方向。以上的寄存器是通過位來表征每一個IO口的輸入情況的。

  PA 端口中

查看詳情

相關標簽

相關話題

換一批
  • 華大半導體
    華大半導體
    +關注
    華大半導體有限公司于2014年5月8日在自貿區市場監督管理局登記成立。法定代表人董浩然,公司經營范圍包括集成電路產品的研究、開發和銷售,電子元器件等。
  • HoloLens
    HoloLens
    +關注
    HoloLens是微軟公司開發的一種MR頭顯 (混合現實頭戴式顯示器)。該產品于北京時間2015年1月22日凌晨發布。Microsoft HoloLens MR頭顯由Microsoft 公司于北京時間2015年1月22日凌晨與Window10同時發布。
  • 3D視覺
    3D視覺
    +關注
    2017年起至今蘋果一直推崇基于3D傳感技術的Face ID,由此實現安全快捷的3D面部識別,可極大提升驗證和支付等環節的便利性。為了實現3D傳感與全面屏的完美融合,OPPO Find X采用的是全隱藏式3D攝像頭模組
  • VR頭顯
    VR頭顯
    +關注
  • tpk
    tpk
    +關注
  • 歐菲光
    歐菲光
    +關注
    歐菲光集團股份有限公司(簡稱“歐菲光”)正式運營始于2002年,2010年在深交所上市,股票代碼為002456。公司的主營業務為智能手機、智能汽車及新領域業務,主營業務產品包括光學影像模組、光學鏡頭、微電子及智能汽車相關產品等,廣泛應用于以智能手機、平板電腦、個人電腦、可穿戴設備等為代表的消費電子和智能汽車領域。
  • 觸控感測
    觸控感測
    +關注
    觸感觸控是個可接收觸頭(無論是手指或膠筆尖等)等輸入信號的感應式液晶顯示設備,當接觸了屏幕上的圖形按鈕時,屏幕上的觸覺反饋系統可根據預先編程的程序驅動各種連結設備,可用以取代機械式的按鈕皮膚,并借由液晶顯示畫面制造出生動的影音效果。
  • RealSense
    RealSense
    +關注
  • 螢石
    螢石
    +關注
  • VIVE
    VIVE
    +關注
    HTC Vive 是由HTC與Valve聯合開發的一款VR頭顯(虛擬現實頭戴式顯示器)產品,于2015年3月在MWC2015上發布。由于有Valve的SteamVR提供的技術支持,因此在Steam平臺上已經可以體驗利用Vive功能的虛擬現實游戲。
  • Oculus Rift
    Oculus Rift
    +關注
    Oculus Rift它是一款專門為電子游戲設計的頭戴式顯示器,這款虛擬現實設備在未來很可能改變人們的游戲方式。
  • Zytronic
    Zytronic
    +關注
  • Gear VR
    Gear VR
    +關注
    Gear VR又名三星Gear VR,是三星推出的一款vr頭顯(虛擬現實頭戴式顯示器)。三星將這款初代產品命名為“創新者版”,軟件和游戲部分很多都是技術演示,而不是消費類的產品。
  • 壓感觸控
    壓感觸控
    +關注
  • 雷蛇
    雷蛇
    +關注
    雷蛇(Razer)是游戲設備品牌之一,1998年由CEO Min-Liang Tan和Robert “Razerguy” Krakoff創立于美國加州圣地亞哥。在上世紀90年代中葉,隨著網絡游戲和競技型第一人稱射擊 (FPS) 游戲的興起,游戲玩家發現傳統外圍設備在游戲中使用起來性能不足。
  • 敦泰
    敦泰
    +關注
  • 電容觸控技術
    電容觸控技術
    +關注
  • 奧寶科技
    奧寶科技
    +關注
  • 觸覺反饋
    觸覺反饋
    +關注
  • TouchGFX
    TouchGFX
    +關注
  • 觸控感應
    觸控感應
    +關注
  • PCAP
    PCAP
    +關注
  • faceid
    faceid
    +關注
  • 感應技術
    感應技術
    +關注
  • 觸控傳感器
    觸控傳感器
    +關注
  • 刷臉支付
    刷臉支付
    +關注
    刷臉支付是基于人工智能、機器視覺、3D傳感、大數據等技術實現的新型支付方式,具備更便捷、更安全、體驗好等優勢。數據顯示,2018年中國移動支付用戶規模達6.59億人,市場規模已高達277.4萬億元;2019年移動支付用戶規模將突破7.33億人,2020年有望增至7.90億人,且仍在高速增長。
  • 眼球識別
    眼球識別
    +關注
  • 屏幕指紋
    屏幕指紋
    +關注
    手指接觸屏幕時,OLED屏幕發出的光線穿透蓋板將指紋紋理照亮,指紋反射光線穿透屏幕返回傳感器,最終形成指紋圖像來進行識別。
  • 觸覺技術
    觸覺技術
    +關注
  • 全景相機
    全景相機
    +關注

關注此標簽的用戶(0人)

編輯推薦廠商產品技術軟件/工具OS/語言教程專題

電機控制 DSP 氮化鎵 功率放大器 ChatGPT 自動駕駛 TI 瑞薩電子
BLDC PLC 碳化硅 二極管 OpenAI 元宇宙 安森美 ADI
無刷電機 FOC IGBT 逆變器 文心一言 5G 英飛凌 羅姆
直流電機 PID MOSFET 傳感器 人工智能 物聯網 NXP 賽靈思
步進電機 SPWM 充電樁 IPM 機器視覺 無人機 三菱電機 ST
伺服電機 SVPWM 光伏發電 UPS AR 智能電網 國民技術 Microchip
瑞薩 沁恒股份 全志 國民技術 瑞芯微 兆易創新 芯??萍?/a> Altium
德州儀器 Vishay Micron Skyworks AMS TAIYOYUDEN 納芯微 HARTING
adi Cypress Littelfuse Avago FTDI Cirrus LogIC Intersil Qualcomm
st Murata Panasonic Altera Bourns 矽力杰 Samtec 揚興科技
microchip TDK Rohm Silicon Labs 圣邦微電子 安費諾工業 ixys Isocom Compo
安森美 DIODES Nidec Intel EPSON 樂鑫 Realtek ERNI電子
TE Connectivity Toshiba OMRON Sensirion Broadcom Semtech 旺宏 英飛凌
Nexperia Lattice KEMET 順絡電子 霍尼韋爾 pulse ISSI NXP
Xilinx 廣瀨電機 金升陽 君耀電子 聚洵 Liteon 新潔能 Maxim
MPS 億光 Exar 菲尼克斯 CUI WIZnet Molex Yageo
Samsung 風華高科 WINBOND 長晶科技 晶導微電子 上海貝嶺 KOA Echelon
Coilcraft LRC trinamic
放大器 運算放大器 差動放大器 電流感應放大器 比較器 儀表放大器 可變增益放大器 隔離放大器
時鐘 時鐘振蕩器 時鐘發生器 時鐘緩沖器 定時器 寄存器 實時時鐘 PWM 調制器
視頻放大器 功率放大器 頻率轉換器 揚聲器放大器 音頻轉換器 音頻開關 音頻接口 音頻編解碼器
模數轉換器 數模轉換器 數字電位器 觸摸屏控制器 AFE ADC DAC 電源管理
線性穩壓器 LDO 開關穩壓器 DC/DC 降壓轉換器 電源模塊 MOSFET IGBT
振蕩器 諧振器 濾波器 電容器 電感器 電阻器 二極管 晶體管
變送器 傳感器 解析器 編碼器 陀螺儀 加速計 溫度傳感器 壓力傳感器
電機驅動器 步進驅動器 TWS BLDC 無刷直流驅動器 濕度傳感器 光學傳感器 圖像傳感器
數字隔離器 ESD 保護 收發器 橋接器 多路復用器 氮化鎵 PFC 數字電源
開關電源 步進電機 無線充電 LabVIEW EMC PLC OLED 單片機
5G m2m DSP MCU ASIC CPU ROM DRAM
NB-IoT LoRa Zigbee NFC 藍牙 RFID Wi-Fi SIGFOX
Type-C USB 以太網 仿真器 RISC RAM 寄存器 GPU
語音識別 萬用表 CPLD 耦合 電路仿真 電容濾波 保護電路 看門狗
CAN CSI DSI DVI Ethernet HDMI I2C RS-485
SDI nas DMA HomeKit 閾值電壓 UART 機器學習 TensorFlow
Arduino BeagleBone 樹莓派 STM32 MSP430 EFM32 ARM mbed EDA
示波器 LPC imx8 PSoC Altium Designer Allegro Mentor Pads
OrCAD Cadence AutoCAD 華秋DFM Keil MATLAB MPLAB Quartus
C++ Java Python JavaScript node.js RISC-V verilog Tensorflow
Android iOS linux RTOS FreeRTOS LiteOS RT-THread uCOS
DuerOS Brillo Windows11 HarmonyOS
林超文PCB設計:PADS教程,PADS視頻教程 鄭振宇老師:Altium Designer教程,Altium Designer視頻教程
張飛實戰電子視頻教程 朱有鵬老師:海思HI3518e教程,HI3518e視頻教程
李增老師:信號完整性教程,高速電路仿真教程 華為鴻蒙系統教程,HarmonyOS視頻教程
賽盛:EMC設計教程,EMC視頻教程 杜洋老師:STM32教程,STM32視頻教程
唐佐林:c語言基礎教程,c語言基礎視頻教程 張飛:BUCK電源教程,BUCK電源視頻教程
正點原子:FPGA教程,FPGA視頻教程 韋東山老師:嵌入式教程,嵌入式視頻教程
張先鳳老師:C語言基礎視頻教程 許孝剛老師:Modbus通訊視頻教程
王振濤老師:NB-IoT開發視頻教程 Mill老師:FPGA教程,Zynq視頻教程
C語言視頻教程 RK3566芯片資料合集
朱有鵬老師:U-Boot源碼分析視頻教程 開源硬件專題
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>