MCAPI/ICC between Linux and CCES

本文介绍如何在Blackfin BF609处理器上通过不同方式加载和运行双核应用程序,包括使用CCES编译核心B裸金属程序、通过Linux和BootROM加载核心B任务,以及将核心1 MC-API二进制文件与核心0 U-Boot ELF文件打包成单一LDR映像的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Compile coreB beare-metal in CCES

1.1 import coreB project

1.2 add sdramcplb entries to startup_ldr/app_cplbtab.c

 /*SDRAM Memory */

 {0x0,(ENUM_DCPLB_DATA_64MB | CPLB_DNOCACHE)},

 {0x4000000,(ENUM_DCPLB_DATA_64MB | CPLB_DNOCACHE)},

1.3 Then config like following and build

 

2 Load by Linux

icc_loader -lBF609_MCAPI_coreB_task.dxe

3 Load by bootrom

3.1 Blackfin bootrom allows to load 1LDR image into memory and run on both cores after reset. You can pack core1MCAPI dxe binary and core 0 uboot elf binary into one LDR image by bfin-elf-ldrutility and run MCAPI application on core1 at the very begining of uboot init.

3.2 Build the latest bfin-elf-ldr on2012R1 toolchain branch head to enable this Build u-boot on 2012R1 branch headwith CONFIG_CORE1_RUN option defined in config file.

$ cd u-boot

$/u-boot$ vi  include/configs/bf609-ezkit.h

#defineCONFIG_CORE1_RUN 1

$:wq

/u-boot$  makebf609-ezkit


3.3 Pack the dxe file of CCES core1 MCAPI testapplication and uboot ELF file into one LDR image by command:

bfin-elf-ldr -Tbf609-0.0 -c DualCoreTest_uboot.ldr u-boot BF609_MCAPI_coreB_task.dxe --bmode PARA --use-vmas --initcode arch/blackfin/cpu/initcode.o-J --punchit $((0x8000)):$((0x8000)):env-ldr.o

3.4 Flash generated LDR image intoNorflash

3.5 Switch the bootmode rotary to norflash mode and reset


4. load CCES mcapi test application in linux

icc_loader -l BF609_MCAPI_msg_CORE1.dxe

 

5. load CCES mcapi msg test application

cces_msg1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值