Angel的初始化
发布时间:2008/12/23 0:00:00 访问次数:341
初始化包括下面这些操作序列。
(1)将处理器模式切换到特权模式,禁止中断,并检测mmu是否存在。如果mmu存在,则可以在处理器特权模式下配置它。
(2)根据编译时生成的地址值,angel确定应用程序运行时的位置及异常中断向量的位置。
(3)将angel的代码段及数据段复制到运行时的地址空间。
(4)如果应用程序需要运行,则将其也复制到它的运行时地址空间。
(5)设置各种处理器模式下的数据栈。angel将维护它独立的特权模式下的数据栈,用户可以配置angel的数据栈位置。
(6)设置目标系统中特有的部件,如mmu及profiling时钟。
(7)建立angel的任务串行器。
(8)将处理器模式切换到用户模式,进行高层次的初始化操作,初始化c语言运行时库及angel的c函数。
对于完整版本的angel及最小版本的angel,从这一步开始,初始化操作有所不同。对于完整版本的angel,进行如下的操作。
·建立基于adp的通信通道。
·如果应用程序需要使用其他的通道,则可以建立单纯的数据通道(raw data channel)。
·将引导信息发送到主机上的调试器,并等待调试器的回应。
对于最小版本的angel,进行如下的操作。
·设置设备驱动程序,建立单纯的数据通道(raw data channel)。
·跳转到程序入口点_entry。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
初始化包括下面这些操作序列。
(1)将处理器模式切换到特权模式,禁止中断,并检测mmu是否存在。如果mmu存在,则可以在处理器特权模式下配置它。
(2)根据编译时生成的地址值,angel确定应用程序运行时的位置及异常中断向量的位置。
(3)将angel的代码段及数据段复制到运行时的地址空间。
(4)如果应用程序需要运行,则将其也复制到它的运行时地址空间。
(5)设置各种处理器模式下的数据栈。angel将维护它独立的特权模式下的数据栈,用户可以配置angel的数据栈位置。
(6)设置目标系统中特有的部件,如mmu及profiling时钟。
(7)建立angel的任务串行器。
(8)将处理器模式切换到用户模式,进行高层次的初始化操作,初始化c语言运行时库及angel的c函数。
对于完整版本的angel及最小版本的angel,从这一步开始,初始化操作有所不同。对于完整版本的angel,进行如下的操作。
·建立基于adp的通信通道。
·如果应用程序需要使用其他的通道,则可以建立单纯的数据通道(raw data channel)。
·将引导信息发送到主机上的调试器,并等待调试器的回应。
对于最小版本的angel,进行如下的操作。
·设置设备驱动程序,建立单纯的数据通道(raw data channel)。
·跳转到程序入口点_entry。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
上一篇:Angel实现调试器请求的功能
上一篇:Angel下载应用程序