0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Cortex-A9 LED匯編、C語言驅(qū)動(dòng)編寫

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 18:10 ? 次閱讀

ARM系列文章合集如下:

《從0學(xué)arm合集》

0. 前言

一般我們購買一個(gè)開發(fā)板,廠家都會(huì)給出對應(yīng)的電路圖文件,我們可以通過搜索對應(yīng)名稱來查找到對應(yīng)的外設(shè)。對于驅(qū)動(dòng)工程師來說,我們只需要知道外設(shè)與SOC交互的一些數(shù)據(jù)線和信號(hào)線即可。

用主控芯片控制這些外設(shè)的一般步驟:

電路原理圖,弄明白主控芯片和外設(shè)是怎么連接的,對于驅(qū)動(dòng)工程師來說,主要是看外設(shè)的一些clk、數(shù)據(jù)引腳、控制引腳是如何連接的;外設(shè)一般都會(huì)連接到SOC的1個(gè)或者多個(gè)控制器上,比如i2c、spi、gpio等,有的是數(shù)據(jù)線有的是信號(hào)線,中斷線等;根據(jù)電路連接和需求對主控芯片進(jìn)行設(shè)置,往往對外設(shè)的設(shè)置都是通過寄存器操作實(shí)現(xiàn);書寫相應(yīng)代碼,實(shí)現(xiàn)功能,不同類型的外設(shè),代碼結(jié)構(gòu)也不盡相同,比如按鍵,我們既可以通過輪詢方式讀取按鍵信息,也可以通過中斷方式來讀取。

下面我們就以華清遠(yuǎn)見的fs4412開發(fā)板為例來看如何編寫led的裸機(jī)程序。SOC exynos 4412 datahseet 下載地址:

https://download.csdn.net/download/daocaokafei/12533438

一、LED燈電路圖

首先看下led電路圖:

LED電路圖該板子有4個(gè)LED,是發(fā)光二極管,有電流是為藍(lán)色;led都接了上拉電阻;三極管的基極接了SOC的某個(gè)GPIO引腳;比如GPX1_0,當(dāng)該引腳為高電平是,三極管pn結(jié)導(dǎo)通,于是LED3兩側(cè)就有了電勢差,LED3被點(diǎn)亮,如果該引腳為低電平,pn結(jié)截止,LED3兩側(cè)就沒有了電勢差,LED3熄滅。

下面是CPU核訪問GPIO控制器的數(shù)據(jù)通路:

AHB:高速總線APB Bridge:APB總線橋APB:外設(shè)總線,低速總線GPIO掛載在APB總線上

GPIO 與 SOC

由上圖可知,cpu要訪問GPIO的寄存器需要經(jīng)過的路徑。

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23321

    瀏覽量

    661902
  • 電力電子
    +關(guān)注

    關(guān)注

    29

    文章

    572

    瀏覽量

    48937
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137249
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EE-134:為SHARC系列編寫C兼容匯編代碼中斷處理程序

    電子發(fā)燒友網(wǎng)站提供《EE-134:為SHARC系列編寫C兼容匯編代碼中斷處理程序.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:58 ?0次下載
    EE-134:為SHARC系列<b class='flag-5'>編寫</b><b class='flag-5'>C</b>兼容<b class='flag-5'>匯編</b>代碼中斷處理程序

    EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù)

    電子發(fā)燒友網(wǎng)站提供《EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù).pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:48 ?0次下載
    EE-128:<b class='flag-5'>C</b><b class='flag-5'>語言</b>中的DSP:從<b class='flag-5'>C</b>調(diào)用<b class='flag-5'>匯編</b>類成員函數(shù)

    TMS320C6000匯編語言工具v7.4用戶指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000匯編語言工具v7.4用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-30 16:42 ?0次下載
    TMS320<b class='flag-5'>C</b>6000<b class='flag-5'>匯編語言</b>工具v7.4用戶指南

    TMS320C6000匯編語言工具 v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000匯編語言工具 v8.3.x.pdf》資料免費(fèi)下載
    發(fā)表于 11-07 10:00 ?0次下載
    TMS320<b class='flag-5'>C</b>6000<b class='flag-5'>匯編語言</b>工具 v8.3.x

    ARM匯編語言工具

    電子發(fā)燒友網(wǎng)站提供《ARM匯編語言工具.pdf》資料免費(fèi)下載
    發(fā)表于 11-06 09:12 ?0次下載
    ARM<b class='flag-5'>匯編語言</b>工具

    TMS320C28x匯編語言工具

    電子發(fā)燒友網(wǎng)站提供《TMS320C28x匯編語言工具.pdf》資料免費(fèi)下載
    發(fā)表于 11-01 09:32 ?0次下載
    TMS320<b class='flag-5'>C</b>28x<b class='flag-5'>匯編語言</b>工具

    TMS320LF240x DSP的C語言匯編代碼快速入門

    電子發(fā)燒友網(wǎng)站提供《TMS320LF240x DSP的C語言匯編代碼快速入門.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 10:14 ?1次下載
    TMS320LF240x DSP的<b class='flag-5'>C</b><b class='flag-5'>語言</b>和<b class='flag-5'>匯編</b>代碼快速入門

    hex文件怎么能轉(zhuǎn)回去c語言

    的差異。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對程序進(jìn)行分析,你可以采取以下步驟來盡可能接近原始的C語言邏輯: 反匯編 : 使用反匯編工具(如IDA Pro、Gh
    的頭像 發(fā)表于 09-02 10:46 ?2406次閱讀

    hex文件如何查看原c語言代碼

    是處理器可以直接執(zhí)行的指令,而 C 語言代碼則是人類可讀的高級(jí)編程語言代碼。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對程序進(jìn)行分析,你可以考慮以下幾種方法: 反匯編
    的頭像 發(fā)表于 09-02 10:37 ?2605次閱讀

    RISC-V匯編語言

    一、導(dǎo)言 從 C 程序翻譯成為可以在計(jì)算機(jī)上執(zhí)行的機(jī)器語言程序的四個(gè)經(jīng)典步驟。這一章的內(nèi)容包括了后三個(gè)步驟,不過我們要從匯編語言在 RISC-V 函數(shù)調(diào)用規(guī)范中的作用開始說起。 上圖從C
    發(fā)表于 08-19 18:07

    LED 驅(qū)動(dòng)模塊 RSC6218A

    led驅(qū)動(dòng)模塊
    瑞森半導(dǎo)體
    發(fā)布于 :2024年04月11日 09:09:14

    C語言基礎(chǔ)-為什么要使用C?

    當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)) MySQL 都是使用 C 語言編寫的。
    發(fā)表于 03-25 11:20 ?472次閱讀

    【RISC-V開放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語言和擴(kuò)展指令集

    【RISC-V開放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語言和擴(kuò)展指令集 匯編語言C語言翻譯成可執(zhí)行的機(jī)器語言的重要步驟包括編譯過程,
    發(fā)表于 02-03 13:29

    vb語言c++語言的區(qū)別

    Microsoft開發(fā)的一種面向?qū)ο蟮氖录?b class='flag-5'>驅(qū)動(dòng)編程語言。它的設(shè)計(jì)目標(biāo)是簡化編程過程,讓初學(xué)者也能快速上手。與之相比,C++語言是一種通用的、面向?qū)ο蟮木幊?/div>
    的頭像 發(fā)表于 02-01 10:20 ?2414次閱讀

    汽車ECU編程是單片機(jī)C語言還是匯編語言

    汽車ECU編程是單片機(jī)C語言嗎?還是匯編語言?
    發(fā)表于 01-26 06:08