配合“动态加载CPU1程序”食用,AMP下应用
参考教程:zynq 7000 AMP模式 双裸核CPU同时运行_leon_zeng0的博客-CSDN博客_cleanup_platform
选择 Empty Application
加入AMP的一个交叉编译的宏定义 “ -DUSE_AMP=1 ” ,添加在末尾。
修改 lscript.ld 文件中的内容,Base Address 和 Size 要和设备树 中 dbox_ipc_dev_instance 保持一致。
Base Address :0x18000000
Size:0x07000000
arm-none-eabi-objcopy -O binary cpu1_led1.elf cpu1_led1.bin
cpu1_led1.elf为工程名字
目的:获取到两个不同程序的bin文件,所以裸机程序可以使用一个工程。通过改变 .c 内容,重新编译获取到两个不同的bin文件。两段代码在同一个.c中,使用时把另外一个给注释掉即可。
- #include "sleep.h"
- #include "xil_io.h"
- #include "xgpio.h"
- XGpio axiGpio0;
- int main(void)
- {
- int i = 0;
- XGpio_Initialize(&axiGpio0, XPAR_GPIO_0_DEVICE_ID);
- XGpio_SetDataDirection(&axiGpio0, 1, 0x0);
- while(1){
- XGpio_DiscreteWrite(&axiGpio0, 1, i);
- i++;
- i = i & 0x03;
- sleep(1);
- }
- return 0;
- }
- //#include "sleep.h"
- //#include "xil_io.h"
- //#include "xgpio.h"
- //
- //XGpio axiGpio0;
- //
- //int main(void)
- //{
- // int i = 0;
- // XGpio_Initialize(&axiGpio0, XPAR_GPIO_0_DEVICE_ID);
- // XGpio_SetDataDirection(&axiGpio0, 1, 0x0);
- //
- // while(1){
- // XGpio_DiscreteWrite(&axiGpio0, 1, 0x03);
- // sleep(1);
- // XGpio_DiscreteWrite(&axiGpio0, 1, 0x00);
- // sleep(1);
- // }
- //
- // return 0;
- //}
分别将两个bin文件复制出来,依次命名为 ”cpu1_led1_num.bin“ 和 ”cpu1_led1_bilink.bin“