IPNC Development Notes--an analysis of ipnc_rdk_4.1.0
has been read 231 times 2014-2-27 11:55| System classification: Embedded Systems | applications, profiles, Flash, memory, client
Turn from: Seiko Small Craftsmen
First, in the ipnc_rdk_4.1.0 development package, mainly divided into two parts: Dvsdk_ipnctools, IPNC_APPIPNC_RDK;
Dvsdk_ipnctools is the official TI provides a variety of IPNC development of the driver, DSP algorithm, PSP development package, etc.
IPNC_APPIPNC_RDK is primarily a IPNC application developed by the Appro company;
So, simply follow the appro to the development of the demo made out of the IPNC
The hardware directly can be ipnc_rdk_4.1.0 in the medical program, do not need any changes to run, and can be in the PC client with the Web
GUI in the form of access to the IPNC real-time monitoring screen, and has the accompanying control function.
And, the development of IPNC hardware and Appro given the demo hardware scheme is very different;
1. serial port selection UART0;
2.nand in the DM368 of the main chip is the use of NAND512 's small-page NAND flash as memory;
3. The chip of the network port adopts RTL8201 PHY scheme;
4. The memory chip chooses Hyny's ddr2-800 storage chip;
So the place to modify:
A. First, the serial port UART0 as the output debugging serial port, so in U-boot, Kenerl in the header file, configuration files are to be modified to uart0 serial port;
Specific location U-boot # define in Incllude/configs/davinci_dm368_ipnc.h
Config_cons_index 2 modified to # define CONFIG_CONS_INDEX 1, note # define
CFG_NS16550_CLK 24000000 When the zhongping rate is modified, or the serial output will appear garbled;
The position in kernel is/ARCH/ARM/MACH-DAVINCI/BOARD-DM368-IPNC.C
, you can also add ttyS0 to the pass parameter in U-boot.
B. To modify the DM368 main chip under the NAND flash for the small page of MLC memory;
To add DM368 macros to NAND.C files that define DM365 macros, you can drive a small page of NAND flash, which is modified in u-boot;
The block capacity of the kernel to modify # define Nand_block_size sz_16k to small pages is 16K
, as well as the amount of memory on the small page to modify the NAND flash partition problem under Linux system;
The static struct mtd_partition davinci_nand_partitions[] = {
81
{
*/UBL (a few copies) plus U-boot */
. Name
= ' bootloader ',
Offset = 0,
Size = 32
* Nand_block_size,//24 change by yecx
Mask_flags.
= 0,
87}, {
*/* u-boot Environment */
89
. Name = ' params ',
offset =
Mtdpart_ofs_append,
A. Size = 96 *
Nand_block_size,
Mask_flags = 0,
93}, {
94
. Name = ' Kernel ',
offset =
Mtdpart_ofs_append,
. Size = sz_2m +
SZ_2M,
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}, {
The. Name = ' Data1 ',
106
. offset = Mtdpart_ofs_append,
107. Size =
SZ_2M,
108. Mask_flags = 0,
109},{
110
. Name = ' Filesystem2 ',
111. Offset =
Mtdpart_ofs_append,
A. 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},
Here is the migration of the modified NAND flash;
C. Modify the porting of the network chip PHY;
Physical Address bits in U-boot for modifying phy phy_num = 0X1F
, and in U-boot to add the following code to control the PHY reset PIN, specifically in the file board/davinci/dm368_ipnc/dm368_board.c
The function of int misc_init_r (void) is added;
111 REG (0x01c40008) |= 0x00001000;
&= REG (0x01c67038)
0XFFFBFFFF;
113
for (i=0; i<20; i++)
115
{
(0x01c6703c) &= 0xfffbffff;
117
Udelay (1000);
118 REG (0x01c6703c) |= 0x00040000;
119}
D.DDR2 in the main is the time parameter, for ddr2-800 only model replacement, so do not have to change the parameters;
The above is necessary to modify the item, there are some items to be noted during the compilation process, no need to repeat.