当前位置: 首页 > news >正文

泊美网站建设总目的浙江坤宇建设有限公司 网站

泊美网站建设总目的,浙江坤宇建设有限公司 网站,网站排名按天付费,千峰网课转自#xff1a;http://blog.csdn.net/azhgul/article/details/6660960最近刚在研究Davinci系#xff0c;特此MARK下#xff0c;以资后续学习之用。 DSP的Gel作用 1 GEL文件基本作用 当CCSStudio启动时#xff0c;GEL文件加载到PC机的内存中#xff0c;如果定义了StartUp(…转自http://blog.csdn.net/azhgul/article/details/6660960最近刚在研究Davinci系特此MARK下以资后续学习之用。 DSP的Gel作用 1 GEL文件基本作用 当CCSStudio启动时GEL文件加载到PC机的内存中如果定义了StartUp()函数则执行该函数在CCSStudio(V2.3或更早的版本中)主机和目标板的初始化工作都在Startup()函数中执行但是对于支持Connect/Disconnect的CCSStudio(V2.4或之后的版本尤其3.1版本)这样的GEL文件有可能没有正确的执行因为CCSStudio启动时和目标处理器是断开的这个时候当Startup()函数试图访问目标处理器时会出错 因此V2.4或之后的版本尤其3.1版本CCS启动时候一个新的回调函数OnTargetConnect()来执行目标处理器的初始化工作 2 GEL回调函数 2.1 Startup()函数       如果指定的GEL文件中包含Startup()函数当 CCSStudio启动时执行Startup()函数支持Connect/Disconnect的CCSStudio的启动时Startup()函数中 不包括访问目标处理器的代码目标处理器由回调函数OnTargetConnect()来初始化        推荐 l         建立基本的CCSStudio内存映射关系(不需要访问目标处理器) l         任何不需要访问目标处理器的基本初始化 不推荐 l         Get_Reset()(该函数通过仿真器复位目标处理器) l         通过GEL_BreakPtAdd()设置断点 l         GEL_TextOUT()和GET_OpenWindow()因为StartUp()执行时CCSStudio的任何控制窗口还没有打开 不支持Connect/Disconnect的CCSStudio GEL文件中的StartUp()函数 /* The StartUp() function is called each time CCS is started. */ /* Customize this function to perform desired initialization. */ StartUp() { setup_memory_map(); GEL_Reset(); /* Do not call in StartUp() with CCStudio v2.4 or higher */ init_emif(); /* Do not call in StartUp() with CCStudio v2.4 or higher */ }  支持Connect/Disconnect的CCSStudio GEL文件中的StartUp()函数 /* The StartUp() function is called each time CCS is started. */ /* Customize this function to perform desired initialization */ /* that will not access the target. */ StartUp() { setup_memory_map(); }  2.2 OnTargetConnect()函数  绝对最小的系统初始化处理保证CCSStudio在目标处理器上处于一种可信赖的状态例如禁止看门狗时钟DSP复位结束  每一次和目标处理器建立连接时都调用OnTargetConnect()函数 /* OnTargetConnect() is called every time a target is connected.*/ /* Its execution finishes before anything else occurs. Customize*/ /* this function to perform essential target initialization. */ OnTargetConnect() { // place critical target initialization steps here GEL_Reset(); init_emif(); } 对某些平台必须调用GEL_Reset()函数使得CCSStudio处于一种Good状态可以通过测试来确定是否需要调用GEL_Reset()函数应该尽可能的降低GEL startup functions复杂度-包括减少GEL_Reset()的调用  2.3 OnPreFileLoaded()函数 在加载program/symbol(.out)文件之前该回调函数执行在该函数中执行另外的目标处理器初始化操作以保证程序可以加载和调试是一个好的选择 /* This function is called automatically when the Load Program*/ /* Menu item is selected. */ OnPreFileLoaded() { FlushCache(); IER 0; IFR 0; init_emif(); } 2.4 OnReset()函数  当目标处理器复位后该函数被调用如果你需要每次重新启动程序设计了软复位GEL_Restart()在此处调用 /* This function is called automatically after a SW Reset has been executed. OnReset(int nErrorCode) { init_emif(); } 2.5OnRestart()函数  当程序复位时调用该函数 This function is called by CCS when you do Debug-Restart. The goal is to put the C6x into a known good state with respect to cache, edma and interrupts. Failure to do this can cause problems when you restart and run code multiple times. OnRestart(int nErrorCode ) { Turn off L2 for all EMIFA CE spaces. App should manage these for coherency GEL_TextOut(Turn off cache segment\n); *(int *)0x1848200 0; /* MAR0 */ *(int *)0x1848204 0; /* MAR1 */ *(int *)0x1848208 0; /* MAR2 */ *(int *)0x184820c 0; /* MAR3 */ /* Disable EDMA events and interrupts and clear any pending events. */ GEL_TextOut(Disable EDMA event\n); */ *(int *)0x01A0FFA8 0; /* CIERH */ *(int *)0x01A0FFB4 0; /* EERH */ *(int *)0x01A0FFB8 0XFFFFFFFF; /* ECRH */ *(int *)0x01A0FFE8 0; /* CIERL */ *(int *)0x01A0FFF4 0; /* EERL */ *(int *)0x01A0FFF8 0xFFFFFFFF; /* ECRL */ /* Disable other interrupts */ IER 0; IFR 0; } 3 存储器映射 CCSStudio存储器映射告诉调试器目标处理器的那些存储区域可以访问那些不能访问CCSStudio存储器映射一般在StartUp()函数种执行 3.1 GEL_MapAdd()函数 该函数添加一个存储区域到存储区映射中 3.2 GEL_MapOn()和GEL_MapOff()函数 可以调用GEL_MapOn() or GEL_MapOff()来打开或关闭存储区映射当存储区映射关闭时CCSStudio假定可以访问所有的存储区空间 3.3 GEL_MapReset()函数  GEL_MapReset()函数清除所有的存储区映射没有存储区映射时缺省设置是所有的存储区空间都不能访问 4 尽量避免使用GEL初始化 可以考虑在GEL文件中使用GEL_MapAdd()建立存储区映射以准许CCSStudio可以调试但是不在GEL文件中执行外设设置例如EMIF寄存器初始化看门狗禁止  因为GEL语法和C兼容inif_emif()函数可以在.c文件中实现和应用程序链接在一起但是要注意以下几点 使用volatile来保证变量不被优化例如 *(volatile int *)EMIFA_SDRAMTIM 0x00000618; /* SDRAM timing (refresh) */       在编译调试过程中避免在GEL文件中进行外设设置当到达了最终程序时需要一个智能加载软件从FLASH或主机加载程序对EMIF进行设置然后通过 (E)DMA或memcpy()拷贝程序/数据 转载于:https://www.cnblogs.com/gune/p/3240566.html
http://www.pierceye.com/news/640641/

相关文章:

  • 如何实现网站生成网页手机端网站建设的注意事项
  • 澄迈网站新闻建设哪个公司建设网站
  • 怎么免费做文学网站wordpress下载及使用说明
  • 大学做兼职英语作文网站中国建筑人才培训网
  • 健康养老网站建设展馆展厅设计效果图
  • 做甜品网站的需求分析wordpress手机移动主题
  • 大兴企业官方网站建设wordpress 电话登记插件
  • 织梦网站搜索怎么做爱拍怎么创建wordpress
  • 阿里云多网站建设绵阳专门做网站的公司有哪些
  • 网站推广的基本方法对于大部分网站来说都是适用的深圳华强北网站建设
  • 网校网站毕业设计的方案网站如何做外链教程视频
  • poiplayer wordpress广州企业网站seo
  • wordpress翻页数字广州网站整站优化
  • 动漫网站设计与实现wordpress禁止留言网址
  • 网站开发交流培训机构网站制作
  • 网站安全建设模板下载百度推广免费建站
  • 开发网站公司都需要什么岗位人员郑州最好的妇科医院
  • 河北专业网站建设公司推荐温州网站建设公司有哪些
  • flash布局 的优秀网站大连网络广告
  • 网站运营seo浙江台州做网站的公司
  • 网站设计师培训学校京东联盟如何做查优惠卷的网站
  • 安全证查询官网安徽seo团队
  • 网站备案怎么注销天工网官方网站
  • 做网站去哪推广好安徽义信建设网站
  • 金乡网站建设哪家便宜示范建设验收网站
  • 西部数码网站管理助手 ftpwordpress 店铺
  • 怎样找到黄页网站唯品会 一家专门做特卖的网站
  • 企业数字展厅设计信息流优化师是干什么的
  • 网站建设福永附近网络公司怎样建设网站最好
  • 水利建设公共服务平台网站网站开发需要用什么