Chinaunix首页 | 论坛 | 博客
  • 博客访问: 658582
  • 博文数量: 175
  • 博客积分: 2457
  • 博客等级: 大尉
  • 技术积分: 1488
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-13 20:31
文章分类

全部博文(175)

文章存档

2012年(22)

2011年(153)

分类: 嵌入式

2011-07-29 14:14:41

cmemk.ko的编译过程:
      首先,明确一点,修改了memory map,并不需要编译cmemk.ko的,我修改多次map,编译多次,生成的cmemk.ko都是一样的,从目录
下的文件insmod_rmmod.sh可以看出,修改cmem段大小和地址后,只需要在loadmodul.sh里面修改即可,将被当成参数传递到cmemk.ko。

1. 进入目录,打开readme.txt, 里面粗略介绍了编译方法;

2. 根据readme.txt, 修改当前目录下的Rules.make内容:

EXEC_DIR=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t-le/target/opt/dvevm (指定执行路径)

MVTOOL_PREFIX=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t-le/bin/arm_v5t_le- (交叉编译器的安装路径)

LINUXKERNEL_INSTALL_DIR=/nfshost

3. make

4. make install

=========================================================================

dsplink.ko的编译:

    DSPLink是一个软件组件,用于帮助ARM和DSP间通信. 1.30版本DSPLink,在DSP memory map有改动时,需rebuild整个DSPLink. 而对1.40版本DSPLink,它更为动态,无需rebuild.


>转到(cd)目录:/dsplink_1_30_*/packages/dsplink. (接下来的paths均在此)


>以编辑模式打开DSPLink配置文件: config/all/CFG_Davinci.TXT;


>找到"RESUMEADDR"处, 缺省下会看到其值为0x8FF00020. 将之改变成值(RESET_VECTOR段起始地址值 + 0x20);


>找到“RESETVECTOR”处, 将其值修改为memory map中RESET_VECTOR段的起始地址值;


>找到"MEMTABLE0"的入口处. 在这你会发信某些entries与你的memory map类似,而有些却不同. 找到其中的DSPLINKMEM, RESETCTRL(即RESET_VECTOR), DDR. 将它们的地址和尺寸修改成与你的memory map相同(其中ADDRDSPVIRTUAL和ADDRPHYSICAL相同), 无需担心这里找不到DDRALGHEAP, 因为DSPLink不需要知道它的值, 原因是DSPLink的内容只是在DSP被启动但尚未被ARM访问阶段存在. 从这里可见,只有DDR等以下的三个段发生改变时才需要重新编译dsplink.ko。


>在Linux host上编辑文件: make/Linux/davinci_mvlpro4.0.mk, 它包含DSPLink对ARM的build指令. 编辑该文件的以下域,使之与自己的DVEVM相符. 注意Linux kernel 和ARM编译工具的所在位置.

   a. BASE_BUILDOS:      (该目录通常以“/lsp/ti-davinci”结束)

   b. BASE_CGTOOLS:        (该目录通常以“arm/v5t_le/bin”结束)


>在Linux host上编辑文件: make/DspBios/c64xxp_5.xx_linux.mk, 它包含DSPLink对DSP的build指令. 编辑该文件的以下域,使之与自己DVEVM的DSP/BIOS安装相符.

   a. BASE_SABIOS:        (该目录通常以“/bios_5_21_01”或其他版本号结束)


   b. BASE_CGTOOLS: <在linux上运行的C64P编译工具所在位置 >       (该目录结束方式不定,但总是包含子目录"bin"、"include"、"lib")


>设置环境变量DSPLINK到以下目录:/dsplink_1_30_*/packages/dsplink.


>在当前目录(即 $DSPLINK)下,type:

   gmake   -C   gpp/src                                                      

   gmake   -C   dsp/src


>在目录gpp/export/BIN/Linux/Davinci/RELEASE/dsplinkk.ko下找到新编译的DSPLink kernel模块,将之拷贝到自己的DVEVM文件系统。 注意:以上步骤应该是针对你所配置的mem-map对应的一个server,如果前面build了多个servers,则这里build DSPLink就不再对它们起作用了.

阅读(3106) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~