This shows you the differences between two versions of the page.
| test_mcapi [2012/07/26 02:56] steven.miao [run and test mcapi in Linux] test CCES mcapi |
test_mcapi [2012/12/06 21:49] (current) steven.miao [build MCAPI for linux on master core] |
|---|
| Line 33: | Line 33: | ||
| For buildroot | For buildroot | ||
| <code> | <code> | ||
| - | cd blackfin-linux-dist/lib/libmcapi | + | make libmcapi |
| </code> | </code> | ||
| For uClinux | For uClinux | ||
| <code> | <code> | ||
| - | cd blackfin-linux-dist/output/build/libmcapi-HEAD | + | make lib/libmcapi_only |
| - | </code> | + | |
| - | + | ||
| - | Configure and build MCAPI library: | + | |
| - | <code> | + | |
| - | ./configure --host=bfin-uclinux | + | |
| - | make | + | |
| - | ls .libs/ | + | |
| - | libmcapi.a libmcapi.la libmcapi.lai | + | |
| - | </code> | + | |
| - | static library libmcapi.a will be generated, then build mcapi test apps which link with libmcapi statically. | + | |
| - | + | ||
| - | Build MCAPI test applications: | + | |
| - | <code> | + | |
| - | cd tests | + | |
| - | make | + | |
| - | ... | + | |
| - | bfin-uclinux-gcc endpoints1.o blackfin-linux-dist/lib/libmcapi/tests/../.libs/libmcapi.a -o endpoints1 > endpoints1.map | + | |
| - | ... | + | |
| </code> | </code> | ||
| Line 162: | Line 143: | ||
| Project -> build project | Project -> build project | ||
| - | ==== load CCES mcapi msg test application ==== | + | ==== load CCES mcapi test application by bootrom ==== |
| - | icc_loader also support CCES executable binary format, just load it by: | + | Blackfin bootrom allows to load 1 LDR image into memory and run on both cores after reset. You can pack core1 MCAPI dxe binary and core 0 uboot elf binary into one LDR image by bfin-elf-ldr utility and run MCAPI application on core1 at the very begining of uboot init. |
| + | |||
| + | * Build the latest bfin-elf-ldr on 2012R1 toolchain branch head. ldr utility in the 2012R1 release doesn't support pack multi binaries for dual core into one LDR image. | ||
| + | * Build u-boot on 2012R1 branch head with CONFIG_CORE1_RUN option defined in config file. 2012R1 uboot release doesn't include this capability. | ||
| + | <code> | ||
| + | ~$ cd u-boot | ||
| + | |||
| + | ~/u-boot$ vi include/configs/bf609-ezkit.h | ||
| + | #define CONFIG_CORE1_RUN 1 | ||
| + | :wq | ||
| + | |||
| + | ~/u-boot$ make bf609-ezkit | ||
| + | </code> | ||
| + | * Pack the dxe file of CCES core1 MCAPI test application and uboot ELF file into one LDR image. | ||
| + | <code> | ||
| + | ~/u-boot$ cp /analogdevices/cces/BF609_MCAPI_msg_CORE1 . | ||
| + | |||
| + | ~/u-boot$ bfin-elf-ldr -T bf609-0.0 -c DualCoreTest_uboot.ldr u-boot | ||
| + | BF609_MCAPI_msg_CORE1.dxe --bmode PARA --use-vmas --initcode | ||
| + | arch/blackfin/cpu/initcode.o -J --punchit $((0x8000)):$((0x8000)):env-ldr.o | ||
| + | </code> | ||
| + | * Flash this LDR image into Norflash | ||
| + | * Switch the bootmode rotary to norflash mode and reset. | ||
| + | |||
| + | |||
| + | ==== load CCES mcapi test application in Linux ==== | ||
| + | Linux ICC utility icc_loader also support to load CCES executable binary. User can load CCES MCAPI application to coreb multiple times under Linux. | ||
| + | |||
| + | Just load by: | ||
| <code> | <code> | ||
| icc_loader -l BF609_MCAPI_msg_CORE1.dxe | icc_loader -l BF609_MCAPI_msg_CORE1.dxe | ||
| </code> | </code> | ||
| + | |||
| ==== load CCES mcapi msg test application ==== | ==== load CCES mcapi msg test application ==== | ||
| run cces_msg1 in libmcapi test, test interoperability with core1 mcapi msg application | run cces_msg1 in libmcapi test, test interoperability with core1 mcapi msg application | ||