2024年8月17日发(作者:波坚壁)
INCA中working page与reference page
working page
:工作页,指的是在ECU的RAM区中划分出(由底层支持)的一段存储区
域,该区域的大小原则上应与RP(或者是要标定区域)的大小一致。
reference page:参考页,指的是ECU的FLASH(存有标定数据)的一段区域,该区域的大
小原则上是在是在链接文件中定义的,根据底层实现的不同,该区域大小有区别。(一般标
准的FALSH区)。
TWO PAGE的概念(WP,RP)在INCA与ECU进行通信连接时,用户可以选定ECU是从哪
一页中读取数据(WP或者RP),并且RP是只读的(INCA默认的,不允许修改RP),
WP用户可以更改,这样用户可以直接对比标定数据与原数据对车辆性能的影响,不断优化
标定数据。但相关功能要有底层的代码实现做保证,第一,要能够把FLASH(RP)区域中
的数据映射(复制)到RAM(WP)区中。第二,要有程序开关实现WP和RP的数据选择
切换功能,在ECU程序运行的时候是选择从哪一页中读取相关量。
在INCA与ECU工作过程中,用户可以不断的切换WP/RP之间,对比WP与RP之间数据的
不同(INCA上显示的RP数据为ECU FLASH区内的数据)。
问题描述:
INCA只能工作在working page页,不能在working page与reference page进行切换。
检查A2L配置文件:
/begin DEFINED_PAGES
0x1 "working page" 0x0 0xC08000 0x4000
RAM
RAM_INIT_BY_ECU
/end DEFINED_PAGES
此段代码说明:A2L文件只将INCA工作页面限制在working page,
后将代码改为:
/begin DEFINED_PAGES
0x1 " reference page " 0x1 0xC08000 0x4000
ROM
/end DEFINED_PAGES
/begin DEFINED_PAGES
0x0 " working page " 0x0 0xC08000 0x4000
RAM
/end DEFINED_PAGES
这样相当于将两个页面在A2L文件中,都进行了配置。重新加载出现如下提示:
问题大体意思就是:当前访问的页ECU不能识别,INCA通过GET_CAL_PAGE命令请求的报
文不匹配。
09 09 ff ff 5c fb 58 03
ff 00 09 00 00 00 00 01
通过截取的报文发现,GET_CAL_PAGE命令请求的访问地址没有被返回。修改程序后:
CCP_DWORD ccpGetCalPage ( void )
{
// return (CCP_DWORD)ccpCalPage;
return (CCP_DWORD)0xC08000;
}
INCA与ECU之间通信正常,可以进行WP与RP之间进行切换。
小结:INCA与ECU之间连接通信主要依靠A2L文件, CCP程序文件。如果在工作中出现问
题,要从这两个文件下手找原因。
2024年8月17日发(作者:波坚壁)
INCA中working page与reference page
working page
:工作页,指的是在ECU的RAM区中划分出(由底层支持)的一段存储区
域,该区域的大小原则上应与RP(或者是要标定区域)的大小一致。
reference page:参考页,指的是ECU的FLASH(存有标定数据)的一段区域,该区域的大
小原则上是在是在链接文件中定义的,根据底层实现的不同,该区域大小有区别。(一般标
准的FALSH区)。
TWO PAGE的概念(WP,RP)在INCA与ECU进行通信连接时,用户可以选定ECU是从哪
一页中读取数据(WP或者RP),并且RP是只读的(INCA默认的,不允许修改RP),
WP用户可以更改,这样用户可以直接对比标定数据与原数据对车辆性能的影响,不断优化
标定数据。但相关功能要有底层的代码实现做保证,第一,要能够把FLASH(RP)区域中
的数据映射(复制)到RAM(WP)区中。第二,要有程序开关实现WP和RP的数据选择
切换功能,在ECU程序运行的时候是选择从哪一页中读取相关量。
在INCA与ECU工作过程中,用户可以不断的切换WP/RP之间,对比WP与RP之间数据的
不同(INCA上显示的RP数据为ECU FLASH区内的数据)。
问题描述:
INCA只能工作在working page页,不能在working page与reference page进行切换。
检查A2L配置文件:
/begin DEFINED_PAGES
0x1 "working page" 0x0 0xC08000 0x4000
RAM
RAM_INIT_BY_ECU
/end DEFINED_PAGES
此段代码说明:A2L文件只将INCA工作页面限制在working page,
后将代码改为:
/begin DEFINED_PAGES
0x1 " reference page " 0x1 0xC08000 0x4000
ROM
/end DEFINED_PAGES
/begin DEFINED_PAGES
0x0 " working page " 0x0 0xC08000 0x4000
RAM
/end DEFINED_PAGES
这样相当于将两个页面在A2L文件中,都进行了配置。重新加载出现如下提示:
问题大体意思就是:当前访问的页ECU不能识别,INCA通过GET_CAL_PAGE命令请求的报
文不匹配。
09 09 ff ff 5c fb 58 03
ff 00 09 00 00 00 00 01
通过截取的报文发现,GET_CAL_PAGE命令请求的访问地址没有被返回。修改程序后:
CCP_DWORD ccpGetCalPage ( void )
{
// return (CCP_DWORD)ccpCalPage;
return (CCP_DWORD)0xC08000;
}
INCA与ECU之间通信正常,可以进行WP与RP之间进行切换。
小结:INCA与ECU之间连接通信主要依靠A2L文件, CCP程序文件。如果在工作中出现问
题,要从这两个文件下手找原因。