日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IPNC开发笔记——关于IPNC_RDK_4.1.0的分析

發(fā)布時間:2024/3/26 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IPNC开发笔记——关于IPNC_RDK_4.1.0的分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、在IPNC_RDK_4.1.0中的開發(fā)包,主要分兩大部分:dvsdk_ipnctools、ipnc_appipnc_rdk;


dvsdk_ipnctools是ti官方提供的各種ipnc開發(fā)下的驅(qū)動程序、dsp算法、psp開發(fā)包等;


ipnc_appipnc_rdk主要是appro公司開發(fā)的IPNC的應(yīng)用程序;


所以,單純的按照appro給的開發(fā)demo做出來的IPNC?
的硬件直接就可以灌IPNC_RDK_4.1.0中的醫(yī)用程序,不需要任何改動即可運行起來,并且可以在pc客戶端用web?
gui的形式訪問到ipnc的實時監(jiān)控畫面,并且有附帶的控制功能。


而,本次開發(fā)的IPNC 的硬件與appro給出的demo硬件方案大不相同;


1.串口選用UART0;


2.nand在DM368的主芯片下選用的是NAND512的小頁的nand flash 作為存儲器;


3.網(wǎng)口的芯片采用RTL8201的PHY 方案;


4.內(nèi)存芯片選用HYNY的DDR2-800的存儲芯片;


所以需要修改的地方:


a.首先,串口的UART0作為輸出調(diào)試串口,這樣在u-boot、kenerl中的頭文件,配置文件都要修改為uart0的串口;


具體位置u-boot中incllude/configs/davinci_dm368_ipnc.h 中的#define?
CONFIG_CONS_INDEX? ?2 修改為#define CONFIG_CONS_INDEX? ?1 即可,注意#define?
CFG_NS16550_CLK? ???24000000時鐘平率一并修改,否則將出現(xiàn)串口輸出亂碼;


kernel中的位置為/arch/arm/mach-davinci/board-dm368-ipnc.c??
中的修改,也可以在u-boot中的傳遞參數(shù)中添加ttyS0即可;


b.要修改在DM368為主芯片下的nand flash為小頁的mlc存儲器;


要在定義DM365的宏的nand.c的文件中添加DM368的宏即可驅(qū)動小頁的nand flash,此處是在u-boot中修改;


在內(nèi)核中要修改#define NAND_BLOCK_SIZE? ???SZ_16K 為小頁的塊容量為16K?
的即可,還有根據(jù)小頁的內(nèi)存量要修改linux系統(tǒng)下的nand flash分區(qū)問題;此處分區(qū)為


80 static struct mtd_partition davinci_nand_partitions[] = {
81? ???
{
82? ?? ?? ?/* UBL (a few copies) plus U-Boot */
83? ?? ?? ?.name? ?? ??
= 'bootloader',
84? ?? ?? ?.offset? ???= 0,
85? ?? ?? ?.size? ?? ? = 32?
* NAND_BLOCK_SIZE,? ?? ?? ?? ? //24? ? change by yecx
86? ?? ?? ?.mask_flags?
= 0,
87? ???}, {
88? ?? ?? ?/* U-Boot environment */
89? ?? ?? ?
.name? ?? ? = 'params',
90? ?? ?? ?.offset? ???=?
MTDPART_OFS_APPEND,
91? ?? ?? ?.size? ?? ? = 96 *?
NAND_BLOCK_SIZE,
92? ?? ?? ?.mask_flags = 0,
93? ???}, {
94? ?? ?? ?
.name? ?? ? = 'kernel',
95? ?? ?? ?.offset? ???=?
MTDPART_OFS_APPEND,
96? ?? ?? ?? ? .size? ?? ? = SZ_2M +?
SZ_2M,
97? ?? ?? ?.mask_flags = 0,
98?
99? ???}, {
100? ?? ?? ?
.name? ?? ? = 'filesystem1',
101? ?? ?? ?.offset? ???=?
MTDPART_OFS_APPEND,
102? ?? ?? ?.size? ?? ? = SZ_16M + SZ_8M?
,? ?? ?? ?? ?? ?? ?//16? ? change by yecx?
103? ?? ?? ?.mask_flags =?
0,
104? ???}, {
105? ?? ?? ?.name? ?? ? = 'data1',
106? ?? ?? ?
.offset? ???= MTDPART_OFS_APPEND,
107? ?? ?? ?.size? ?? ? =?
SZ_2M,
108? ?? ?? ?.mask_flags = 0,
109? ???},{
110? ?? ?? ?? ?? ???
.name? ?? ?? ???= 'filesystem2',
111? ?? ?? ?? ?? ???.offset? ?? ?? ?=?
MTDPART_OFS_APPEND,
112? ?? ?? ?? ?? ???.size? ?? ?? ???=??SZ_16M + SZ_8M?
,? ?? ?? ?//SZ_32M + SZ_8M??change? ???by yecx
113? ?? ?? ?? ?? ???
.mask_flags? ???= 0,
114? ?? ?? ?},
115? ???{
116? ?? ?? ?? ?? ???
.name? ?? ?? ???= 'data2',
117? ?? ?? ?? ?? ???.offset? ?? ?? ?=?
MTDPART_OFS_APPEND,
118? ?? ?? ?? ?? ???.size? ?? ?? ???=?
MTDPART_SIZ_FULL,
119? ?? ?? ?? ?? ???.mask_flags? ???= 0,
120? ?? ?? ?},?


此處為修改的nand flash的移植;


c.修改網(wǎng)口芯片PHY的移植;


在u-boot中的為修改PHY的物理地址位PHY_NUM = 0X1F?
,并且在u-boot中要添加以下代碼,來控制PHY的復(fù)位腳,具體在文件board/davinci/dm368_ipnc/dm368_board.c?
的函數(shù)中int misc_init_r (void)添加;


111? ???REG(0x01c40008) |= 0x00001000;
112? ???REG(0x01c67038) &=??
0xfffbffff;
113?
114? ???for( i=0 ; i<20 ; i++)
115? ???
{
116? ?? ?? ?REG(0x01c6703C) &= 0xfffbffff;
117? ?? ?? ?
udelay(1000);
118? ?? ?? ?REG(0x01c6703C) |= 0x00040000;
119? ???}


d.DDR2中的主要是時間參數(shù),對于DDR2-800只是型號更換,所以不必更改參數(shù);


以上為必須修改項,還有一些在編譯過程中需要注意的項目,無需贅述了。

轉(zhuǎn)載:http://bbs.21ic.com/blog-627217-117376.html

總結(jié)

以上是生活随笔為你收集整理的IPNC开发笔记——关于IPNC_RDK_4.1.0的分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。