BF707和BF706可以外接SPIFLASH作為BOOT,跟其他所有的Blackfin一樣,燒寫(xiě)flash需要專(zhuān)門(mén)的驅(qū)動(dòng),下面是我們以MX25L3206這顆flash為例,來(lái)看一下BF707和BF706是如何來(lái)寫(xiě)SPIFLASH燒寫(xiě)驅(qū)動(dòng)的。
#include #include "adi_initialize.h" #include "BF707_SPI_FLASH.h" #include "common/flash_errors.h" #include "flash.h"
//統(tǒng)一: 記錄的都是FLASH相對(duì)地址 typedef struct AzureBootFlag { char PPSVision[13]; //PPS的版本信息 // OP:200 char key1[50];
unsigned int offsecSectorDefData; unsigned int offsecSectorUpData;
unsigned int defDataSize; unsigned int upDataSize;
unsigned int bootSoruceFlag; //當(dāng)前程序啟動(dòng)地址選擇. flag=1=app1,flag=2=app1,如果是非法值,就默認(rèn)從app1.
unsigned int firmware1Addr; //固件firmware unsigned int firmware2Addr;
unsigned int firmware1Size; unsigned int firmware2Size;
unsigned int app1Size; unsigned int app2Size;
unsigned int firmwareDDRAddress; //壓縮后的ldr文件地址 unsigned int appStartDDRAddress; //memory 啟動(dòng)地址 ,該地址必須位于 DDR中的NO_INIT內(nèi)存區(qū)域.
unsigned int appBufSize; //提供給解壓縮后的文件緩沖區(qū)大小
由于篇幅限制,詳細(xì)源碼請(qǐng)見(jiàn)OP的新浪博客鏈接:
http://blog.sina.com.cn/s/blog_15a33e16d0102x2z3.html
BF706核心板鏈接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.12.spbVfT&id=535030877519
BF706仿真器鏈接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.11.do8oc2&id=38007242820
任何ADI DSP的問(wèn)題,均可聯(lián)系OP的QQ:5516164,微信:OpenADSP OP的網(wǎng)站:www.vu56.cn OP的論壇:www.vu56.cn/bbs OP的官方淘寶店:https://shop108086345.taobao.com/ ADI DSP中文資料全集(含視頻教程和源碼)的淘寶鏈接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.12.Ck3v8f&id=39935721554 |