IPNC开发笔记——关于IPNC_RDK_4.1.0的分析
一、在IPNC_RDK_4.1.0中的開發包,主要分兩大部分:dvsdk_ipnctools、ipnc_appipnc_rdk;
dvsdk_ipnctools是ti官方提供的各種ipnc開發下的驅動程序、dsp算法、psp開發包等;
ipnc_appipnc_rdk主要是appro公司開發的IPNC的應用程序;
所以,單純的按照appro給的開發demo做出來的IPNC?
的硬件直接就可以灌IPNC_RDK_4.1.0中的醫用程序,不需要任何改動即可運行起來,并且可以在pc客戶端用web?
gui的形式訪問到ipnc的實時監控畫面,并且有附帶的控制功能。
而,本次開發的IPNC 的硬件與appro給出的demo硬件方案大不相同;
1.串口選用UART0;
2.nand在DM368的主芯片下選用的是NAND512的小頁的nand flash 作為存儲器;
3.網口的芯片采用RTL8201的PHY 方案;
4.內存芯片選用HYNY的DDR2-800的存儲芯片;
所以需要修改的地方:
a.首先,串口的UART0作為輸出調試串口,這樣在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時鐘平率一并修改,否則將出現串口輸出亂碼;
kernel中的位置為/arch/arm/mach-davinci/board-dm368-ipnc.c??
中的修改,也可以在u-boot中的傳遞參數中添加ttyS0即可;
b.要修改在DM368為主芯片下的nand flash為小頁的mlc存儲器;
要在定義DM365的宏的nand.c的文件中添加DM368的宏即可驅動小頁的nand flash,此處是在u-boot中修改;
在內核中要修改#define NAND_BLOCK_SIZE? ???SZ_16K 為小頁的塊容量為16K?
的即可,還有根據小頁的內存量要修改linux系統下的nand flash分區問題;此處分區為
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.修改網口芯片PHY的移植;
在u-boot中的為修改PHY的物理地址位PHY_NUM = 0X1F?
,并且在u-boot中要添加以下代碼,來控制PHY的復位腳,具體在文件board/davinci/dm368_ipnc/dm368_board.c?
的函數中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中的主要是時間參數,對于DDR2-800只是型號更換,所以不必更改參數;
以上為必須修改項,還有一些在編譯過程中需要注意的項目,無需贅述了。
轉載:http://bbs.21ic.com/blog-627217-117376.html
總結
以上是生活随笔為你收集整理的IPNC开发笔记——关于IPNC_RDK_4.1.0的分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows永久关闭defender
- 下一篇: 用Spring构建企业Java应用程序