色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

國產(chǎn)軟硬件龍芯系列迅為2K1000開發(fā)板配置 nand flash

北京迅為電子 ? 2022-04-12 14:10 ? 次閱讀

開發(fā)板使用手冊 讓研發(fā)速度快上加快

更新包含了開發(fā)環(huán)境搭建、系統(tǒng)編譯與燒寫和pmon基礎(chǔ)知識、啟動流程分析、網(wǎng)絡(luò)加載系統(tǒng)、燒寫系統(tǒng)到nand以及新增pmon移植教程、新增pmon下操作GPIO章節(jié)和pmon下Ejtag使用章節(jié)等。

pmon 支持倆種接口類型的 nand flash,一個是 nand 控制器接口,一個是 spi 接口。龍芯核心板上板載了一個 nand 控制器接口的 flash。

9.9.11.1 配置 pmon

首先我們需要在 pmon 里面添加對 nand 的支持,那么我們都要配置哪些內(nèi)容呢?這個要從 pmon 的啟動流程入手,pmon 在啟動的時候是在 Targets/LS2K/ls2k/tgt_machdep.c 里調(diào)用 ls2k_nand_init()函數(shù)對 nand 進行初始化的, 如果我們要調(diào)用 ls2k_nand_init()函數(shù),就需要定義宏定義 NNADN 和 CONFIG_LS2K_NAND, 其中 NNADN 的值在 Targets/LS2K/compile/ls2k/m25p80.h 中定義為 1,

所以我們只需要在 Targets/LS2K/conf/ls2k 文件中添加代碼 option CONFIG_LS2K_NAND 即可,這里我們添 加到第 269 行,

在 pmon 默認(rèn)的 bsp 中,默認(rèn)添加了代碼 select nand,所以這里我們不必要在添加代碼 select nand,而select 指定的是后面的參數(shù) nand 被選中,選中了 nand 參數(shù)以后,在 conf/files 文件中使用 file 指定的 c 文件就可以被編譯到 pmon 里面。因為 file 指定的文件編譯與否取決于后面的參數(shù)有沒有被選中,needs-flag 表示為該文件生成頭文件。

然我們回過頭再來看條件編譯的這部分代碼,

如果我們定義了 NNAND 和 CONFIG_LS2K_NAND,就是執(zhí)行*(volatile int *)0xbfe10420 |= (1<<9) 代碼將GPIO 的管教復(fù)用設(shè)置為 NAND,,如果沒用定義這倆個宏定義,就將復(fù)用關(guān)系設(shè)置為 GPIO,如下圖所示:

如果定義了這倆個宏定義,接著就會調(diào)用 ls2k_nand_init 函數(shù)來初始化 nand,我們跳轉(zhuǎn)到 ls2k_nand_init 函數(shù)定義的 sys/dev/nand/ls2k-nand.c 驅(qū)動文件,通過閱讀代碼我們可以找到對 mtd 結(jié)構(gòu)初始化的驅(qū)動函數(shù)為 ls2k_nand_init_mtd,通過訪問 mtd 就可以訪問 nand 控制器,

在 ls2k_nand_init_mtd 函數(shù)中,最關(guān)鍵的是對 ECC 的選擇,在 pmon 中默認(rèn)的 ECC 有 NAND_ECC_SOFT 和 NAND_ECC_SOFT_BCH 倆種。BCH 校驗比 ECC 校驗有更強的糾錯能力,龍芯 BSP 里面默認(rèn)使用的是 ECC 校驗,代碼如下:

如果我們需要使用 BCH 校驗,需要在在 Targets/LS2K/conf/ls2k 中定義 select nand_bch,,這個我們選擇 BCH 校驗,如下圖所示:

9.9.11.2 配置分區(qū)

在 nand 初始化最后的步驟會建立分區(qū)信息,建立分區(qū)信息的邏輯是先會調(diào)用 nand_flash_add_parts 函

數(shù)對環(huán)境變量 mtdparts 進行判斷,mtdparts 環(huán)境變量在 Targets/LS2K/include/pmon_target.h 中定義,

如 果 環(huán) 境 變 量 mtdparts 中 設(shè) 置 了 分 區(qū) 信 息 , 則 調(diào) 用 add_mtd_device 來 指 定 分 區(qū) , sys/dev/nand/ls2k-nand.c 中代碼如下:

環(huán)境變量 mtdparts 中的值我們要怎么設(shè)置呢?

這里環(huán)境變量的設(shè)置我們要和 pmon 里面設(shè)備樹的保持一致,打開 Targets/LS2K/conf/LS2K.dts 設(shè)備樹文件,找到 nand 節(jié)點,其中 nand 節(jié)點的子 partition 節(jié)點表示的是分區(qū)信息,如下圖所示:

其中:

compatible = "loongson,ls-nand"; 表示匹配驅(qū)動所使用的屬性。

reg = <0x1fe06040 0x0 0x1fe06000 0x20>; 表示控制寄存器的地址和長度,其中 0x1fe06040 是

NAND_DMA_ADDR_REG 的地址。 地址 0x1fe06000 是 NAND_CMD 的地址。長度均為 0x20。

interrupt-parent = <&icu>; 中斷控制器是 icu

interrupts = <52>; 分配中斷號為 52

interrupt-names = "nand_irq"; 中斷名稱

dmas = <&dma0 1>; 表示使用 dma0 控制器,通道數(shù)為 1

dma-names = "nand_rw"; dma 控制器名稱

dma-mask = <0xffffffff 0xffffffff>; 表示設(shè)備 dma 能力,如果設(shè)備只有 32 位 dma 能力,則應(yīng)該配置成

0x00xffffffff,如果設(shè)備有 64 位 dma 能力,則應(yīng)該配置成 0xffffffff 0xffffffff

number-of-parts = <0x2>; 表示分區(qū)數(shù)量,這里設(shè)置成倆個分區(qū)

partition@0 {

label = "kernel_partition";

reg = <0x0000000 0x01e00000>;

};

分區(qū) 0,分區(qū)名稱為 kernel_partition,其中分區(qū)起始地址為 0x0000000,分區(qū)長度為 0x01e00000。

partition@0x01400000 {

label = "os_partition";

reg = <0x01e00000 0x0>;

};

分區(qū) 1,分區(qū)名稱為 os_partition,其中分區(qū)起始地址為 0x01e00000,分區(qū)長度為剩余所有空間。

這里我們需要修改 partition@0 和 partition@0x01400000 子節(jié)點。這里我們把內(nèi)核的分區(qū)大小設(shè)置 成 30M,剩余的 482M 給文件系統(tǒng)。

接著我們需要添加片選信息。一般情況下根據(jù)硬件設(shè)計規(guī)范,F(xiàn)lash 的片選會接到 cs0 上,通過原理圖我們可以確定,片選引腳連接到了 cs0 上,如下圖所示:

但是設(shè)備樹我們要怎么寫呢?這個就需要我們?nèi)タ打?qū)動源碼了,我們打開內(nèi)核源碼

drivers/mtd/nand/ls-nand.c 下的 nand 控制器的驅(qū)動,在第 637 行我們可以看到他是通過 nand-cs 來獲取的片選信息,

所以我們在設(shè)備樹中添加屬性 nand-cs=<0x00>;,添加完成如下圖所示:

這樣,pmon 下的設(shè)備樹我們就設(shè)置好了,然后我們回過頭在來設(shè)置環(huán)境變量 mtdparts,要與設(shè)備樹中我們設(shè)置的保持一致,修改完成如下圖所示:

這樣 pmon 對 nand 的設(shè)置就已經(jīng)完成了。

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

    關(guān)注

    3

    文章

    349

    瀏覽量

    31314
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5121

    瀏覽量

    97976
  • 國產(chǎn)芯片
    +關(guān)注

    關(guān)注

    2

    文章

    269

    瀏覽量

    29808
  • 2K1000
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    576
收藏 人收藏

    評論

    相關(guān)推薦

    龍芯2K1000開發(fā)板/核心流暢運行Busybox、Buildroot、Loognix、QT5.12系統(tǒng)

    視頻教程 新增龍芯2K1000開發(fā)環(huán)境搭建系列、系統(tǒng)編譯與燒寫系列、PMON基礎(chǔ)知識及啟動流程分析系列
    發(fā)表于 01-21 14:38

    RK3576開發(fā)板核心與底板接口硬件介紹

    RK3576開發(fā)板核心與底板接口硬件介紹
    的頭像 發(fā)表于 01-14 15:15 ?310次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3576<b class='flag-5'>開發(fā)板</b>核心<b class='flag-5'>板</b>與底板接口<b class='flag-5'>硬件</b>介紹

    龍芯LS2K1000LA和LS2K1000有何區(qū)別?

    則是使用mips架構(gòu)。所以倆個不同架構(gòu)的處理器使用的源碼略有不同,但是硬件上基于2k10002k1000la的開發(fā)板&核心
    發(fā)表于 11-14 11:06

    電子】龍芯LS2K1000LA和LS2K1000有何區(qū)別?

    電子】龍芯LS2K1000LA和LS2K1000有何區(qū)別?
    的頭像 發(fā)表于 11-13 14:13 ?327次閱讀
    【<b class='flag-5'>迅</b><b class='flag-5'>為</b>電子】<b class='flag-5'>龍芯</b>LS<b class='flag-5'>2K1000</b>LA和LS<b class='flag-5'>2K1000</b>有何區(qū)別?

    【北京】itop-龍芯2k1000開發(fā)指南Linux基礎(chǔ)入門vim 編輯器

    【北京】itop-龍芯2k1000開發(fā)指南Linux基礎(chǔ)入門vim 編輯器
    的頭像 發(fā)表于 10-25 14:56 ?347次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】itop-<b class='flag-5'>龍芯</b><b class='flag-5'>2k1000</b><b class='flag-5'>開發(fā)</b>指南Linux基礎(chǔ)入門vim 編輯器

    國產(chǎn)龍芯處理器選擇2K1000開發(fā)板有資料

    視頻教程 新增龍芯2K1000開發(fā)環(huán)境搭建系列、系統(tǒng)編譯與燒寫系列、PMON基礎(chǔ)知識及啟動流程分析系列
    發(fā)表于 10-16 14:23

    龍芯2K0300蜂鳥試用】龍芯2K0300蜂鳥開發(fā)板開發(fā)環(huán)境搭建

    的需求,開發(fā)者提供了廣闊的應(yīng)用空間。 龍芯2K0300蜂鳥開發(fā)板開發(fā)環(huán)境通過下面的方法來搭
    發(fā)表于 09-05 21:16

    龍芯2K0300蜂鳥試用】龍芯2K0300蜂鳥開發(fā)板上電測試!

    應(yīng)用于產(chǎn)品,也可根據(jù)核心引腳定義自行開發(fā)產(chǎn)品底板或接口,還可在應(yīng)用其軟硬件成果的基礎(chǔ)上完全按照個人需求重新開發(fā)產(chǎn)品,顯著提升
    發(fā)表于 09-05 20:46

    【北京龍芯iTOP-LS2K0500開發(fā)板快速啟動手冊-第3章 Windows安裝串口終端

    龍芯iTOP-LS2K0500開發(fā)板
    的頭像 發(fā)表于 08-28 15:13 ?600次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】<b class='flag-5'>龍芯</b>iTOP-LS<b class='flag-5'>2K</b>0500<b class='flag-5'>開發(fā)板</b>快速啟動手冊-第3章 Windows安裝串口終端

    【北京】itop-龍芯2k1000 sylixos 嵌入式實時系統(tǒng)燒寫手冊-第一章與第二章 詳細(xì)步驟

    【北京】itop-龍芯2k1000 sylixos 嵌入式實時系統(tǒng)燒寫手冊-第一章與第二章 詳細(xì)步驟
    的頭像 發(fā)表于 08-26 14:18 ?771次閱讀
    【北京<b class='flag-5'>迅</b><b class='flag-5'>為</b>】itop-<b class='flag-5'>龍芯</b><b class='flag-5'>2k1000</b> sylixos 嵌入式實時系統(tǒng)燒寫手冊-第一章與第二章 詳細(xì)步驟

    2K0500開發(fā)板硬件連接快速測試

    2K0500開發(fā)板硬件連接快速測試
    的頭像 發(fā)表于 08-13 15:40 ?349次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>2K</b>0500<b class='flag-5'>開發(fā)板</b><b class='flag-5'>硬件</b>連接快速測試

    龍芯2K0300蜂鳥試用】開發(fā)板簡介

    龍芯2K0300蜂鳥試用】開發(fā)板簡介 廣東龍芯 2K0300 蜂鳥
    發(fā)表于 08-12 17:27

    國產(chǎn)四核RK3562開發(fā)板底板硬件接口原理說明

    國產(chǎn)四核RK3562開發(fā)板底板硬件接口原理說明
    的頭像 發(fā)表于 06-14 15:27 ?1816次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>國產(chǎn)</b>四核RK3562<b class='flag-5'>開發(fā)板</b>底板<b class='flag-5'>硬件</b>接口原理說明

    Banana Pi開源社區(qū)推出BPI-5202開發(fā)板國產(chǎn)龍芯Loongson 2K1000LA

    BPI-5202作為單純的嵌入式通用控制器軟硬件開發(fā)平臺,采用龍芯2K1000LA芯片設(shè)計,基本配置中有
    的頭像 發(fā)表于 04-13 16:14 ?1141次閱讀
    Banana Pi開源社區(qū)推出BPI-5202<b class='flag-5'>開發(fā)板</b>,<b class='flag-5'>國產(chǎn)</b><b class='flag-5'>龍芯</b>Loongson <b class='flag-5'>2K1000</b>LA

    [廣東龍芯2K1000/2K500開發(fā)板] OpenWRT 使用說明

    500_config ##2k1000配置名為loongson_2k1000_config ##此處以2k500例 $ cp confi
    發(fā)表于 02-19 14:40
    主站蜘蛛池模板: 二级毛片在线观看 | 久久国产av偷拍在线 | 强奷乱码中文字幕熟女免费 | 好嗨哟在线看片免费 | 607080老太太AW| 免费看美女的网站 | 成人毛片一区二区三区 | 伊人久久久久久久久香港 | 中国少妇内射XXXX狠干 | 蜜柚视频网在线观看免费 | 国产剧情在线精品视频不卡 | 麻豆三级电影 | 精品国产成人a区在线观看 精品国产成人AV在线看 | 好看AV中文字幕在线观看 | 色色男_免费 | 国产主播福利一区二区 | 日本xxxx裸体xxxx | 伊人久久综合热青草 | 色人阁影视 | 国产 日韩 欧美 高清 亚洲 | jizz老师| 日本吃孕妇奶水免费观看 | 亚洲AV久久无码精品九号 | 国产亚洲精品久久久久久禁果TV | 国产精品乱码色情一区二区视频 | 精品午夜寂寞影院在线观看 | 毛片在线全部免费观看 | 国内精品视频在线播放一区 | 亚洲AV蜜桃永久无码精品无码网 | 国产精品99久久久久久AV色戒 | 久久人人玩人妻潮喷内射人人 | 日韩精品免费在线观看 | 伊人最新网址 | 亚洲视频中文字幕在线 | 国产免费啪嗒啪嗒视频看看 | 日韩精品一区二区三区色欲AV | 国产成人精品久久久久婷婷 | 女子扒开腿让男生桶爽 | 国产精品大陆在线视频 | 高h辣h双处全是肉一对一 | 国产亚洲tv在线观看 |