重新编译NDK库

背景介绍

NDK(Network Developer’s Kit)是TI提供的用来在嵌入式处理器上开发基于网络程序的开发平台。NDK包含开源C代码和预编译库,用户可以对源码进行修改后自行重新编译。NDK当前支持TMS320C6000 DSP系列和ARM处理器。支持的平台有C64P, C66, C674, ARM9, Cortex-A8, 或 Cortex-M3 设备 (对于 C6000 处理器, 支持大小端两种模式),还支持ELF和COFF两种库格式。各种不同的平台和格式使用后缀名区分,命名规则详见NDK说明。

目前XX板上的C6678和C6455两种处理器都需要使用小端ELF格式的NDK库。NDK提供C6678预编译版本的该格式库。对于C6455,NDK只提供大、小端的COFF格式的预编译库,这就需要重新编译NDK库。TI提供了关于重新编译NDK这一主题的Wiki页面,请见www.ti.com。本文介绍生成C6455所需格式的库文件的具体方法。

准备工作

重新编译NDK需要XDCTools和SYS/BIOS支持,具体版本参见NDK的release_note说明。本文方法的测试环境为NDK2.23,XDCTools3.25.0.48,SYS/BIOS6.35.1.29。
需要的编译工具为gmake.exe,在XDCTools安装路径的根目录下,要保证改路径在系统PATH环境变量中。
在NDK安装根目录下,有两个文件ndk.mak和ndk.bld,前者是make文件,后者是配置文件。在后续步骤中要对这两个文件进行修改。

重新编译NDK的步骤

  1. 新建一个目录,如c:\myNdkBuilds,其中不能包含空格,最好也不含中文字符。
  2. 将原NDK文件夹拷贝到当前目录下,重命名,形如c:\myNdkBuilds\myNDK_2_23_00_00
  3. 打开ndk.mak,将DESTDIR补充为C:/myNdkBuilds/myndk_2_23_00_00;将XDC_INSTALL_DIR修改为C:/ti/xdctools_3_25_00_48;将SYSBIOS_INSTALL_DIR修改为C:/ti/bios_6_35_01_29
  4. 在25行处添加一行ti.targets.elf.C64P ?= C:/ti/ccsv5/tools/compiler/c6000_7.4.2
  5. XDCARGS添加一行ti.targets.elf.C64P=\”$(ti.targets.elf.C64P)\” \;将除最后一行BUILDMINSTACK外其他不需要的目标平台删除以减少编译时间,因为重新编译所有平台的库需要很长时间(几小时到十几小时)
  6. 打开ndk.bld编辑,将var ccOpts中添加一行”ti.targets.elf.C64P” : c6xOpts,
  7. 在Windows命令行中进入C:/myNdkBuilds/myndk_2_23_00_00目录,执行命令 gmake –f ndk.mak clean
  8. 执行gmake –f ndk.mak
  9. 耐心等待,所需的库将生成在相应各目录下,后缀名形如.ae64P
  10. 将所有生成的库拷贝到NDK原目录对应文件夹中即可。

你可能感兴趣的:(开发手记)