一种单片机系统map数据标定方法

文档序号:6433444阅读:526来源:国知局
专利名称:一种单片机系统map数据标定方法
技术领域
本发明涉及一种MAP数据标定方法,特别是关于一种用于小容量RAM单片机系统中的MAP数据标定方法。
背景技术
在汽车电子领域,嵌入式系统大都使用单片机作为控制核心。由于控制系统的复杂性和对象的多样性,单片机系统中有大量的参数无法在系统设计时确定,需要在系统开发完成后通过匹配标定来确定。而这种匹配标定,往往是利用PC机上的标定工具软件,通过基于总线的协议与单片机系统建立连接,将标定工具软件上的操作,传送给单片机,由单片机完成相应的操作。在单片机内的FLASH上,保存有这些需要标定的参数即MAP的初始值;通过基于总线的协议接收标定工具软件的操作,对MAP进行数据更新;由于FLASH中的数值只能通过FLASH编程软件才能更新,而在运行FLASH编程软件的时候,一般不能同时执行读取FLASH的程序,需要停止正常程序的运行,进入专门的FLASH编程模块,因此这种方式无法支持MAP的在线标定;针对这个问题,目前常用的解决方案是把MAP数据从单片机内的FLASH中拷贝到单片机内的RAM中,在线标定的时候,修改的是RAM中的MAP数据,通过数据查询函数,检测到MAP数据修改后的结果。但是,这种方法也有缺陷由于单片机片内的RAM容量往往很小,而一些嵌入式系统中需要标定的MAP很多,例如发动机的控制系统ESP、变速箱的控制系统ABS和汽车动力学控制系统TCS等,往往无法把所有的MAP数据从单片机内的FLASH中全部拷贝到单片机内的RAM中。目前,对此常用的解决方法有两种 一是在单片机的外部扩展RAM用于标定,这需要在单片机管脚上把地址总线和数据总线引出,占用了大量的管脚资源,而且会使系统的电磁兼容性恶化,增加系统成本;二是通过分块标定,把所有的标定MAP分块,一次标定只把一块区域的MAP数据拷贝到单片机内的RAM 中,因此一次只能标定一块区域内的MAP数据,这种方法局限性很大,事先无法确定一次标定需要修改多少MAP,在MAP分区的时候也就无法选择一种适应整个标定阶段的划分方法, 并且需要在多个标定页之间来回切换,而对于这种在线切换,会将先前进行的标定工作丢失。

发明内容
针对上述问题,本发明的目的是提供一种能够较好地支持单片机系统,特别是小容量RAM单片机系统在线标定的单片机系统MAP数据标定方法。为实现上述目的,本发明采取以下技术方案一种单片机系统MAP数据标定方法, 其特征在于它包括以下步骤1)在单片机内存中设置若干个区域,包括以下步骤①根据MAP的数据总量的大小设置一块内存区域,作为标定FLASH ;②根据一次能够标定的MAP数据量的大小设置一块内存区域,作为标定RAM ;③根据MAP的个数设置一块内存区域,作为信息FLASH ;
④根据MAP的数据总量的大小设置一块内存区域,作为索引FLASH;2)在由步骤1)设置的标定FLASH区域内保存所有MAP的原始数据;3)通过已有的工具软件获取每个MAP在标定FLASH中存放的起始地址和占用空间大小,将其保存在由步骤1)设置的信息FLASH区域内;4)通过已有的工具软件获取标定FLASH区域内每个字节所保存的MAP的索引序号,将其保存在由步骤1)设置的索引FLASH区域内;5)在系统初始化时,建立并初始化一个MAP指针数组,包括以下步骤①在MAP管理模块中,设置一个指针数组,该数组元素的下标为MAP的索引序号, 数组元素的个数与MAP的个数相同,数组元素为指针,指向MAP在内存中存放空间的起始地址;②在系统初始化时,根据MAP个数,依次从信息FLASH中获取每个MAP在标定 FLASH中的起始地址,然后,将步骤①中的各个MAP指针,分别指向各个MAP在标定FLASH中的起始地址;如果需要对MAP数据进行修改,进入步骤6);如果需要对MAP数据进行查询,进入步骤7);6)在线标定过程中,把正在标定的MAP从单片机内的FLASH拷贝到单片机内的 RAM内,在RAM中对相应的数据进行修改,包括以下步骤①PC机上的标定工具软件与单片机系统建立连接后,在标定工具软件中对一个 MAP中的一个数据进行修改,此时,标定工具软件计算该数据点相对于该MAP起始地址的地址偏移,然后根据该MAP在标定FLASH中的起始地址,进一步确定该数据点在标定FLASH中存放的地址,标定工具软件把该地址和修改后的数据发送给单片机;②单片机根据由步骤①标定工具软件发送来的地址,查询索引FLASH内对应地址中所保存的MAP索引序号,然后根据这个索引序号,访问信息FLASH内结构体数组中下标为此索引序号的元素,继而得到该MAP在标定FLASH内的起始地址和占用空间大小;③单片机根据步骤②获得的MAP索引序号,查询相应的MAP指针,得到该MAP指针当前指向的地址如果该地址位于标定FLASH内,进入步骤④;如果该地址位于标定RAM内,进入步骤⑤;④根据步骤②获得的起始地址和占用空间大小,单片机将位于标定FLASH中以该起始地址开始的,相应空间大小内的数据全部拷贝到标定RAM的空白区域中;记录当前标定RAM区域中使用的空间大小;然后修改该MAP的指针,使其指向标定RAM区域内该MAP存放空间的起始地址,进入步骤⑤;⑤已知需要修改的数据点在标定FLASH中的存放地址,单片机根据该数据点所在 MAP在标定FLASH内的起始地址和在标定RAM内的起始地址,得到该数据点在标定RAM中的存放地址,将该地址内的数据修改为更新后的数据;7)已知MAP在FLASH中的起始地址和占用空间大小,通过查询相应的MAP指针,得到该MAP当前存放空间的起始地址,从而对以该起始地址开始的,相应空间大小的内存区域中的数据,进行查表插值操作,包括以下步骤①单片机把MAP在标定FLASH中的起始地址作为参数传递给查表插值函数;
5
②查表插值函数根据由步骤①获得的起始地址,查询索引FLASH内对应地址中所保存的MAP索引序号;③单片机根据由步骤②获得的MAP索引序号,查询相应的MAP指针,得到该MAP当前存放空间的起始地址;④基于由步骤③获得的起始地址,对相应空间大小的内存区域中的数据,进行查表插值操作,结束。上述步骤幻中,通过已有的MAP存储分析软件获取每个MAP在标定FLASH中存放的起始地址和占用空间大小。上述步骤4)中,通过已有的MAP存储分析软件获取标定FLASH区域内每个字节所保存的MAP的索引序号。上述步骤4)中,在索引FLASH内,每个字节存放一个索引序号。上述步骤4)中,当MAP个数大于255时,在索引FLASH内,每两个字节存放一个索引序号。上述步骤3)中,采用结构体数组保存每个MAP的起始地址和占用空间大小;该数组元素的下标为MAP的索引序号,数组元素的个数与MAP的个数相同,数组元素为结构体, 包括两个成员MAP占用空间大小和MAP在标定FLASH内的起始地址。本发明由于采取以上技术方案,其具有以下优点1、由于本发明只把需要标定的 MAP数据在线实时地拷贝到RAM中,从而占用的RAM空间较小,解决了小容量RAM单片机系统标定大量数据的问题。2、由于本发明能够在线标定所有需要标定的MAP数据,解决了现有的因分块标定或RAM空间不够不能一次标定所有MAP的问题。采用本发明可以降低单片机系统的复杂程度和制造成本。


图1是本发明单片机内存区域划分示意图;图2为本发明初始化时的MAP指针示意图;图3为本发明在线标定时的MAP指针示意图。
具体实施例方式如图1所示,本发明方法包括以下步骤1)在单片机内存中设置若干个区域;2)在单片机内存中保存所有MAP的原始数据;3)在单片机内存中保存每个MAP的起始地址和占用空间大小;4)在单片机内存中保存每个MAP的索引序号;5)在系统初始化时,建立并初始化一个MAP指针数组;6)在线标定过程中,把正在标定的MAP从单片机内的FLASH拷贝到单片机内的 RAM内,在RAM中对相应的数据进行修改;7)已知MAP在FLASH中的起始地址和占用空间大小,通过查询相应的MAP指针,得到该MAP当前存放空间的起始地址,从而对以该起始地址开始的,相应空间大小的内存区域中的数据,进行查表插值操作。
下面结合附图和实施例对本发明进行详细的描述。1)在单片机内存中设置若干个区域,包括以下步骤①根据MAP的数据总量的大小设置一块内存区域,作为标定FLASH,用于保存所有的MAP数据。在本发明实施例中,如图1所示,将单片机内存中地址0x140000开始的128K空间设置为标定FLASH。②根据一次能够标定的MAP数据量的大小设置一块内存区域,作为标定RAM,用于保存在线标定过程中更新过的MAP最新数据。在本发明实施例中,如图1所示,将单片机内存中地址0x400000开始的64K空间设置为标定RAM。③根据MAP的个数设置一块内存区域,作为信息FLASH,用于保存每个MAP在标定 FLASH中的起始地址和该MAP的占用空间大小。在本发明实施例中,如图1所示,将单片机内存地址0x100000开始的8K空间设置为信息FLASH。④根据MAP的数据总量的大小设置一块内存区域,作为索引FLASH,用于保存标定 FLASH对应地址所存放的MAP的索引序号。在本发明实施例中,如图1所示,将单片机内存中地址0x160000开始的128K空间设置为索引FLASH。2)在单片机内存中保存所有MAP的原始数据,具体为在由步骤1)设置的标定FLASH区域内保存所有MAP的原始数据。3)在单片机内存中保存每个MAP的起始地址和占用空间大小,包括以下步骤①通过已有的工具软件,如MAP存储分析软件,获取每个MAP在标定FLASH中存放的起始地址和占用空间大小;②将每个MAP在标定FLASH中的起始地址和占用空间大小保存在由步骤1)设置的信息FLASH区域内。其中,可以采用结构体数组记录每个MAP的起始地址和占用空间大小;该数组元素的下标为MAP的索引序号,数组元素的个数与MAP的个数相同,数组元素为结构体,包括两个成员MAP占用空间大小和MAP在标定FLASH内的起始地址。上述结构体中,可以采用一个16位变量记录MAP占用空间大小,采用一个32位变量记录MAP在标定FLASH内的起始地址。假设在本发明实施例中,标定FLASH内有6张MAP,第一张MAP(MAPO)保存在 0x140000 0xl400FF 的范围内,第二张 MAP (MAPI)保存在 0x140100 0xl401FF 的范围内,第三张MAP(MAP2)保存在0x140200 0xl402FF的范围内,第四张MAP(MAP3)保存在 0x140300 0xl403FF的范围内,第五张MAP (MAP4)保存在0x140400 0xl404FF的范围内, 第六张MAP (MAP5)保存在0x140500 0xl405FF的范围内,这6张MAP对应的MAP序号分别为0、1、2、3、4和5,于是信息FLASH中的结构体数组相应地包括六个数组元素,数组元素0为{0x100,0x140000}(表示MAPO的大小为0x100,起始地址为0x140000),数组元素1 为{0x100,0x140100},数组元素 2 为{0x100,0x140200},数组元素 3 为{0x100,0x140300}, 数组元素 4 为{0x100,0x140400},数组元素 5 为{0x100,0x140500}。
7
4)在单片机内存中保存每个MAP的索引序号,包括以下步骤①通过已有的工具软件,如MAP存储分析软件,获取标定FLASH区域内每个字节所保存的MAP的索引序号(从0开始);②在由步骤1)设置的索引FLASH区域内,以字节为单位存放标定FLASH对应地址所存放的MAP的索引序号。其中,如果MAP个数大于255,在索引FLASH内,可以每两个字节存放一个索引序号。在本发明实施例中,0x160000 0xl600FF内保存的都是0,0x1600100 0xl601FF 内保存的都是 1,0x1600200 0xl602FF 内保存的都是 2,0x1600300 0xl603FF 内保存的都是3,0x1600400 0xl604FF内保存的都是4,0x1600500 0xl605FF内保存的都是5。5)在系统初始化时,建立并初始化一个MAP指针数组,包括以下步骤①在MAP管理模块中,设置一个指针数组,该数组元素的下标为MAP的索引序号, 数组元素的个数与MAP的个数相同,数组元素为指针,指向MAP在内存中存放空间的起始地址,用于表示MAP保存在以该起始地址开始的内存区域内;②在系统初始化时,根据MAP个数,依次从信息FLASH中获取每个MAP在标定 FLASH中的起始地址,然后,将步骤①中的各个MAP指针,分别指向各个MAP在标定FLASH中的起始地址;如果需要对MAP数据进行修改,进入步骤6);如果需要对MAP数据进行查询,进入步骤7)。在本发明实施例中,如图2所示,系统初始化后,MAP指针指向的地址依次为ΜΑΡ0 指针指向0x140000,MAPI指针指向0x140100,MAP2指针指向0x140200,MAP3指针指向 0x140300, MAP4 指针指向 0x140400,MAP5 指针指向 0x140500。6)在线标定过程中,把正在标定的MAP从单片机内的FLASH拷贝到单片机内的 RAM内,在RAM中对相应的数据进行修改,包括以下步骤①PC机上的标定工具软件与单片机系统建立连接后,在标定工具软件中对一 MAP 中的一个数据进行修改,此时,标定工具软件计算该数据点相对于所在MAP起始地址的地址偏移,然后根据该MAP在标定FLASH中的起始地址,进一步确定该数据点在标定FLASH中的存放地址,标定工具软件把该地址和修改后的数据发送给单片机;在本发明实施例中,假设对MAP2中的一个数据点进行修改,标定工具软件计算该点相对于MAP起始地址的地址偏移为0x10,因为MAP2保存在标定FLASH中以地址0x140200 开始的内存区域,且修改后的数据为0x66,那么标定工具软件把0x140210和0x66发送给单片机;②单片机根据由步骤①标定工具软件发送来的地址,查询索引FLASH内对应地址中所保存的MAP索引序号,然后根据这个索引序号,访问信息FLASH内结构体数组中下标为此索引序号的元素,继而得到该MAP在标定FLASH内的起始地址和占用空间大小;在本发明实施例中,单片机根据接收到的地址0x140210,查询索引FLASH地址 0x160210中所保存的MAP索引序号,该索引序号为2,根据该索引序号,访问信息FLASH内结构体数组中下标为2的元素,继而得到MAP2在标定FLASH内的起始地址0x140200,占用空间大小0x100 ;③单片机根据步骤②获得的MAP索引序号,查询相应的MAP指针,得到该MAP指针当前指向的地址如果该地址位于标定FLASH内,进入步骤④;如果该地址位于标定RAM内,进入步骤⑤;④根据步骤②获得的起始地址和占用空间大小,单片机将位于标定FLASH中以该起始地址开始的,相应空间大小内的数据全部拷贝到标定RAM的空白区域中;用一个整型 32位的变量,记录当前标定RAM区域中使用的空间大小;然后修改该MAP的指针,使其指向标定RAM区域内该MAP存放空间的起始地址,进入步骤⑤;⑤已知需要修改的数据点在标定FLASH中的存放地址,单片机根据该数据点所在 MAP在标定FLASH内的起始地址和在标定RAM内的起始地址,得到该数据点在标定RAM中的存放地址,将该地址内的数据修改为更新后的数据。在本发明实施例中,当前MAP2的指针指向地址0x140200,位于标定FLASH内,单片机把标定FLASH中地址0x140200 0xl402FF内共0x100字节的数据全部拷贝到标定RAM 中地址0x400000 0x4001FF的区域内;设置一个整型32位的变量,其值为0x100,表明标定RAM区域中已经使用了 0x100字节的空间;然后修改MAP2指针,使其指向0x400000 (如图3所示);已知需要修改的数据点在标定FLASH中的存放地址为0x140210,单片机根据该点所在MAP在标定FLASH内的起始地址0x140200和在标定RAM内的起始地址0x400000, 得到需要修改的数据点在标定RAM中的存放地址0x400010,然后把地址0x400010内储存的数据修改为0x66。如果在完成上述标定后,在标定工具软件中又修改了 MAP2中另一数据点,假设这次需要修改的数据点在标定FLASH中的存放地址为0x140220,修改后的数据为0x55,那么标定工具软件把0x140220和0x55发送给单片机;单片机根据接收到的地址 0x140220,查询索引FLASH中地址0x160220内储存的MAP索引序号,该索引序号为2,根据该索引序号,访问信息FLASH内结构体数组中下标为2的元素,继而得到MAP2在标定FLASH 内的起始地址0x140200,占用空间大小0x100 ;查询MAP2指针,由于该指针已经指向了地址 0x400000,位于标定RAM内,表明之前已经把该MAP所有的数据从标定FLASH中拷贝到了标定RAM中,所以这次不再需要拷贝原始数据;已知需要修改的数据点在标定FLASH内的存放地址为0x140220,单片机根据该点所在MAP在标定FLASH内的起始地址0x140200和在标定 RAM内的起始地址0x400000,得到需要修改的数据点在标定RAM内的存放地址0x400020,然后把地址0x400020内储存的数据修改为0x55。7)已知MAP在FLASH中的起始地址和占用空间大小,通过查询相应的MAP指针,得到该MAP当前存放空间的起始地址,从而对以该起始地址开始的,相应空间大小的内存区域中的数据,进行查表插值操作,包括以下步骤①单片机把MAP在标定FLASH中的起始地址作为参数传递给查表插值函数;②查表插值函数根据由步骤①获得的起始地址,查询索引FLASH内对应地址中所保存的MAP索引序号;③单片机根据由步骤②获得的MAP索引序号,查询相应的MAP指针,得到该MAP当前存放空间的起始地址;④基于由步骤③获得的起始地址,对相应空间大小的内存区域中的数据,进行查表插值操作,结束。在本发明实施例中,如果是对MAP2进行查表插值操作,已知MAP2在FLASH中的起始地址0x140200和占用空间大小0x100,单片机把MAP2在标定FLASH中的起始地址 0x140200作为参数传递给查表插值函数,查表插值函数根据该起始地址,在索引FLASH中查询地址0x160200中所保存的MAP索引序号,得到该序号为2,由此得知需要进行操作的是MAP2,查询MAP2指针,得到该MAP当前位于以地址0x400000开始的内存区域内,对以地址0x400000开始的,大小为0x100的内存区域中的MAP数据,进行查表插值操作。如果是对MAPI进行查表插值操作,则已知MAPI在FLASH中的起始地址0x140100和占用空间大小 0x100,单片机把MAPI在标定FLASH中的起始地址0x140100作为参数传递给查表插值函数,查表插值函数根据该起始地址,在索引FLASH中查询0x140100中所保存的MAP索引序号,得到该索引序号为1,由此得知需要进行操作的是MAPI,查询MAPI指针,得到该MAP当前位于以地址0x140100开始的内存区域内,对以地址0x140100,大小为0x100的内存区域中的MAP数据,进行查表插值操作。上述实施例仅用于说明本发明,其中各个步骤的具体实施方式
等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。
权利要求
1. 一种单片机系统MAP数据标定方法,其特征在于它包括以下步骤1)在单片机内存中设置若干个区域,包括以下步骤①根据MAP的数据总量的大小设置一块内存区域,作为标定FLASH;②根据一次能够标定的MAP数据量的大小设置一块内存区域,作为标定RAM;③根据MAP的个数设置一块内存区域,作为信息FLASH;④根据MAP的数据总量的大小设置一块内存区域,作为索引FLASH;2)在由步骤1)设置的标定FLASH区域内保存所有MAP的原始数据;3)通过已有的工具软件获取每个MAP在标定FLASH中存放的起始地址和占用空间大小,将其保存在由步骤1)设置的信息FLASH区域内;4)通过已有的工具软件获取标定FLASH区域内每个字节所保存的MAP的索引序号,将其保存在由步骤1)设置的索引FLASH区域内;5)在系统初始化时,建立并初始化一个MAP指针数组,包括以下步骤①在MAP管理模块中,设置一个指针数组,该数组元素的下标为MAP的索引序号,数组元素的个数与MAP的个数相同,数组元素为指针,指向MAP在内存中存放空间的起始地址;②在系统初始化时,根据MAP个数,依次从信息FLASH中获取每个MAP在标定FLASH中的起始地址,然后,将步骤①中的各个MAP指针,分别指向各个MAP在标定FLASH中的起始地址;如果需要对MAP数据进行修改,进入步骤6);如果需要对MAP数据进行查询,进入步骤7);6)在线标定过程中,把正在标定的MAP从单片机内的FLASH拷贝到单片机内的RAM内, 在RAM中对相应的数据进行修改,包括以下步骤①PC机上的标定工具软件与单片机系统建立连接后,在标定工具软件中对一个MAP中的一个数据进行修改,此时,标定工具软件计算该数据点相对于该MAP起始地址的地址偏移,然后根据该MAP在标定FLASH中的起始地址,进一步确定该数据点在标定FLASH中存放的地址,标定工具软件把该地址和修改后的数据发送给单片机;②单片机根据由步骤①标定工具软件发送来的地址,查询索引FLASH内对应地址中所保存的MAP索引序号,然后根据这个索引序号,访问信息FLASH内结构体数组中下标为此索引序号的元素,继而得到该MAP在标定FLASH内的起始地址和占用空间大小;③单片机根据步骤②获得的MAP索引序号,查询相应的MAP指针,得到该MAP指针当前指向的地址如果该地址位于标定FLASH内,进入步骤④;如果该地址位于标定RAM内,进入步骤⑤;④根据步骤②获得的起始地址和占用空间大小,单片机将位于标定FLASH中以该起始地址开始的,相应空间大小内的数据全部拷贝到标定RAM的空白区域中;记录当前标定RAM 区域中使用的空间大小;然后修改该MAP的指针,使其指向标定RAM区域内该MAP存放空间的起始地址,进入步骤⑤;⑤已知需要修改的数据点在标定FLASH中的存放地址,单片机根据该数据点所在MAP 在标定FLASH内的起始地址和在标定RAM内的起始地址,得到该数据点在标定RAM中的存放地址,将该地址内的数据修改为更新后的数据;7)已知MAP在FLASH中的起始地址和占用空间大小,通过查询相应的MAP指针,得到该 MAP当前存放空间的起始地址,从而对以该起始地址开始的,相应空间大小的内存区域中的数据,进行查表插值操作,包括以下步骤①单片机把MAP在标定FLASH中的起始地址作为参数传递给查表插值函数;②查表插值函数根据由步骤①获得的起始地址,查询索引FLASH内对应地址中所保存的MAP索引序号;③单片机根据由步骤②获得的MAP索引序号,查询相应的MAP指针,得到该MAP当前存放空间的起始地址;④基于由步骤③获得的起始地址,对相应空间大小的内存区域中的数据,进行查表插值操作,结束。
2.如权利要求1所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤3) 中,通过已有的MAP存储分析软件获取每个MAP在标定FLASH中存放的起始地址和占用空间大小。
3.如权利要求1所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤4) 中,通过已有的MAP存储分析软件获取标定FLASH区域内每个字节所保存的MAP的索引序号。
4.如权利要求2所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤4) 中,通过已有的MAP存储分析软件获取标定FLASH区域内每个字节所保存的MAP的索引序号。
5.如权利要求1或2或3或4任一项所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤4)中,在索引FLASH内,每个字节存放一个索引序号。
6.如权利要求1或2或3或4任一项所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤4)中,当MAP个数大于255时,在索引FLASH内,每两个字节存放一个索引序号。
7.如权利要求1或2或3或4任一项所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤3)中,采用结构体数组保存每个MAP的起始地址和占用空间大小;该数组元素的下标为MAP的索引序号,数组元素的个数与MAP的个数相同,数组元素为结构体, 包括两个成员MAP占用空间大小和MAP在标定FLASH内的起始地址。
8.如权利要求5所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤3) 中,采用结构体数组保存每个MAP的起始地址和占用空间大小;该数组元素的下标为MAP的索引序号,数组元素的个数与MAP的个数相同,数组元素为结构体,包括两个成员MAP占用空间大小和MAP在标定FLASH内的起始地址。
9.如权利要求6所述的一种单片机系统MAP数据标定方法,其特征在于所述步骤3) 中,采用结构体数组保存每个MAP的起始地址和占用空间大小;该数组元素的下标为MAP的索引序号,数组元素的个数与MAP的个数相同,数组元素为结构体,包括两个成员MAP占用空间大小和MAP在标定FLASH内的起始地址。
全文摘要
本发明涉及一种单片机系统MAP数据标定方法,其特征在于它包括步骤1)在单片机内存中设置若干个区域;2)在单片机内存中保存所有MAP的原始数据;3)在单片机内存中保存每个MAP的起始地址和占用空间大小;4)在单片机内存中保存每个MAP的索引序号;5)在系统初始化时,建立并初始化一个MAP指针数组;6)在线标定过程中,把正在标定的MAP从单片机内的FLASH拷贝到单片机内的RAM内,在RAM中对相应的数据进行修改;7)通过查询相应的MAP指针,得到该MAP当前存放空间的起始地址,从而对以该起始地址开始的,相应空间大小的内存区域中的数据,进行查表插值操作。采用本发明可以降低单片机系统的复杂程度和制造成本。
文档编号G06F12/06GK102446138SQ20111027771
公开日2012年5月9日 申请日期2011年9月19日 优先权日2011年9月19日
发明者方成, 李进, 杨福源, 欧阳明高 申请人:常州易控汽车电子有限公司, 清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1