freescale 郁闷(已解决)
本帖最后由 FSL_TICS_ZP 于 2014-7-8 16:20 编辑之前开发的时候,通过代理商申请KE02Z16VLC2的样品,结果代理商说freescale拒绝提供该型号样片,就给了KE02Z64VLC2的样片,说除了FLASH大小不一样,其他一样。
到量产时候再直接买KE02Z16VLC2就可以了。开发测试都完成了,要量产了,为了稳妥,坚持要KE02Z16VLC2的样片测试,跟代理商来回折腾了两个月好不容易要到了样片,
结果发现我的IAR6.7版本根本没有KE02Z16VLC2的icf文件,被告知7.1里面有,我去哪里搞7.1?
在网上找了7.1的,安装之后,调试,直接不工作,再装回6.7,也歇菜了,这不是坑人吗?
告诫各位,以后再申请样片,一定要量产的型号。算了,不发牢骚了,还得去解决问题 那是因为IAR7.1的问题,跟freescale真的关系不大{:titter:}
建议你使用飞思卡尔的CodeWarrior. IDE和产品完全匹配, 问题会少很多. 是不是jlink驱动的原因?更新下应该就可以。 很遗憾啊,如有什么需要帮忙,论坛中交流! 要不到样品,不能自己买两片吗? Xujuango 发表于 2014-6-23 10:25
要不到样品,不能自己买两片吗?
呵呵....,一买就是一个最小包装 {:lol:}{:lol:}{:lol:}那也比你现在这样好的多。 icf,自己根据flash来修改一下就好了 山外メ雲ジ 发表于 2014-6-23 10:34
icf,自己根据flash来修改一下就好了
没那么简单,更改之后,所有的测试程序都要再走一边,各种测试下来,没有一两个周搞不定,我们就是这个规定,更改一次,全部重新测试。甚至还要做实用环境测试。
既然是同一系列的,应该可以通烧,同一个icf 应该也是可以的 ln08136207 发表于 2014-6-23 10:37
没那么简单,更改之后,所有的测试程序都要再走一边,各种测试下来,没有一两个周搞不定,我们就是这个规 ...
确实,量产都必须要全部测试,否则出问题就蛋疼。 Xujuango 发表于 2014-6-23 10:32
那也比你现在这样好的多。
你会在还不确定这颗芯片能否满足你的需求之前去买一个小包装吗?
如果你会,那你真是土豪。这不是一笔小数目。 晕,好像封装不一样吧? wangpengcheng 发表于 2014-6-23 11:15
晕,好像封装不一样吧?
我写错了,代理商给的是KE02Z64VLC2。
不过我奇怪的是freescale 拒绝提供KE02Z16VLC2的原因,我问了几次都没有答复。 本帖最后由 wangpengcheng 于 2014-6-23 11:27 编辑
ln08136207 发表于 2014-6-23 11:21
我写错了,代理商给的是KE02Z64VLC2。
不过我奇怪的是freescale 拒绝提供KE02Z16VLC2的原因,我问了几次 ...
是这样子的,一般飞思卡尔提供样片的时候,只提供一个芯片的Flash最大的样片,其它的芯片因为除了Flash大小不一样,其它的都是一样的,所以没有必要提供!像你说的MKE02Z16VLC2,它对应最大Flash的是MKE02Z64VLC2,所以飞思卡尔在给样片的时候,直接给MKE02Z64VLC2的样片,它可以包含所有MKE02ZxxVLC2的芯片! ln08136207 发表于 2014-6-23 10:43
你会在还不确定这颗芯片能否满足你的需求之前去买一个小包装吗?
如果你会,那你真是土豪。这不是一笔小 ...
开发前,选型时,不看 PDF吗?
对它的参数不事先了解吗? 为毛 我申请到了KE02Z16VLC2 还有一点要注意,FLASH大小是否够用,我前一阵就遇到了KE02Z16VLC2 ROM不够用的问题,楼主注意 Xujuango 发表于 2014-6-23 15:22
开发前,选型时,不看 PDF吗?
对它的参数不事先了解吗?
我们从来不根据PDF来确定是否能用,只是作为参考,选型时的参考,最终结果要看测试结果。
如果仅凭PDF就能确认,那还要申请样片干什么?是不是看了PDF,觉得能用,就直接批量买好了? 浪里白条 发表于 2014-6-23 19:11
为毛 我申请到了KE02Z16VLC2
我跟代理商申请的,从去年末就开始,一直跟我说,freescale拒绝提供KE02Z16VLC2样片。 FSL_TICS_ZP 发表于 2014-6-23 10:21
很遗憾啊,如有什么需要帮忙,论坛中交流!
我在更改了ICF文件之后,编译没有问题之后,下载进入芯片,芯片不停的自动复位,打开SIM_SRSID寄存器查看后发现复位是由Indicates a reset has been caused by the ARM core indication of a LOCKUP event引起的,什么意思? 正想申请样片,帮楼主顶一下! 今天向北京飞锐泰克买了3个样品q ln08136207 发表于 2014-6-24 08:21
我跟代理商申请的,从去年末就开始,一直跟我说,freescale拒绝提供KE02Z16VLC2样片。 ...
可以直接在飞思卡尔网上申请啊 fiddly 发表于 2014-6-24 21:29
今天向北京飞锐泰克买了3个样品q
直接申请啊,不用花钱的,而且很快 浪里白条 发表于 2014-6-24 21:43
可以直接在飞思卡尔网上申请啊
现在换了KE02Z16VLC2之后,程序不停的复位,两天了都没找到原因,倒霉啊 ln08136207 发表于 2014-6-25 08:51
现在换了KE02Z16VLC2之后,程序不停的复位,两天了都没找到原因,倒霉啊
看门狗? ln08136207 发表于 2014-6-24 11:30
我在更改了ICF文件之后,编译没有问题之后,下载进入芯片,芯片不停的自动复位,打开SIM_SRSID寄存器查看 ...
Sorry,昨天论坛时好时坏,没看到你的问题。
我觉得问题还是出现在MCU的系统配置过程中。
本帖最后由 ln08136207 于 2014-6-25 09:28 编辑
wangpengcheng 发表于 2014-6-25 09:01
看门狗?
看门狗已经被禁止了,22楼有截图,里面的寄存器记录了复位原因是ARM内核复位。下面是我的ICF文件,直接用IAR自带的文件编译不同通过,我做了一些修改。
同KE02Z64VLC2相比,唯一的改动就是ICF文件了。
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x00003FFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x1ffffe00;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x200;
define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __region_RAM2_start__ = 0x20000000;
define symbol __region_RAM2_end__ = 0x200005ff;
define symbol __region_EEPROM_start__ = 0x10000000;
define symbol __region_EEPROM_end__ = 0x100000ff;
//define symbol __FlashConfig_start__ = 0x00000400;
//define symbol __FlashConfig_end__ = 0x0000040f;
define exported symbol __VECTOR_TABLE = 0x00000000;
define exported symbol __VECTOR_RAM = __ICFEDIT_region_RAM_start__;
define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 7;
define symbol __code_start__ = __ICFEDIT_region_ROM_start__ + 0x410;
define memory mem with size = 4G;
//define region ROM_region = mem: | mem:;
define region ROM_region =mem:;
define region RAM_region = mem: | mem:;
define region EEPROM_region = mem:;
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
//define region FlashConfig_region = mem:;
initialize by copy { readwrite };
//initialize manually { section .data};
//initialize manually { section .textrw };
do not initialize{ section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
/*place in FlashConfig_region {section FlashConfig};*/
place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP };
place in EEPROM_region { section .eeprom };
ln08136207 发表于 2014-6-24 11:30
我在更改了ICF文件之后,编译没有问题之后,下载进入芯片,芯片不停的自动复位,打开SIM_SRSID寄存器查看 ...
7.1.2问题,仿真时无法停到断点处。
.3已经更新了,但是无法下载到更新。 RAM的地址不对吧?我记得好像只有2K,0x20000000之前有1K,之后有1K guxingganyue 发表于 2014-6-25 09:30
7.1.2问题,仿真时无法停到断点处。
.3已经更新了,但是无法下载到更新。 ...
我没有使用7.1,依然使用6.7 wangpengcheng 发表于 2014-6-25 09:31
RAM的地址不对吧?我记得好像只有2K,0x20000000之前有1K,之后有1K
是2K啊,之前有1FF,之后有5FF。
这不是我写的,IAR自带的里面就是这么分配的。红色部分是我修改的添加的,还有一些是被我屏蔽了的。
我看了datasheet,也是前一块分1/4,后一块分3/4. 本帖最后由 wangpengcheng 于 2014-6-25 09:43 编辑
ln08136207 发表于 2014-6-25 09:35
是2K啊,之前有1FF,之后有5FF。
这不是我写的,IAR自带的里面就是这么分配的。红色部分是我修改的添加的 ...
晕,是我看错了,以为你用的是64KFlash的呢! wangpengcheng 发表于 2014-6-25 09:40
晕,是我看错了,以为你用的是64KFlash的呢!
用64K,就不会有这个问题了,原本的程序是在64K上面运行的,改到16K就不行了。 ln08136207 发表于 2014-6-25 09:47
用64K,就不会有这个问题了,原本的程序是在64K上面运行的,改到16K就不行了。 ...
那是不是程序越界了?还有,你的RAM是不是超过2K了?这些都可能会造成复位,你跟踪一下,看复位的位置是不是固定位置,再看一下复位之前CPU在操作哪个寄存器! wangpengcheng 发表于 2014-6-25 09:51
那是不是程序越界了?还有,你的RAM是不是超过2K了?这些都可能会造成复位,你跟踪一下,看复位的位置是 ...
现在连下载都下载不了了, wangpengcheng 发表于 2014-6-25 09:51
那是不是程序越界了?还有,你的RAM是不是超过2K了?这些都可能会造成复位,你跟踪一下,看复位的位置是 ...
我看了MAP文件,都没有越界! FSL_TICS_ZP 发表于 2014-6-25 09:23
Sorry,昨天论坛时好时坏,没看到你的问题。
我觉得问题还是出现在MCU的系统配置过程中。
...
图片刷不出来
ln08136207 发表于 2014-6-25 10:11
我看了MAP文件,都没有越界!
数组呢?单步一下,看看什么时候复的位! wangpengcheng 发表于 2014-6-25 10:16
数组呢?单步一下,看看什么时候复的位!
在开打开全局中断的时候就跑飞了(不是之后),而且我在汇编窗口观察,竟然没有while(1)这一句。
而且,现在随便屏蔽一个函数,在下载的时候都会提示地址错误。 ln08136207 发表于 2014-6-25 09:47
用64K,就不会有这个问题了,原本的程序是在64K上面运行的,改到16K就不行了。 ...
Flash变大后,就不存在问题,确实是很可能是程序过大,引起这个问题。
图片好像不能上传,一直在转! FSL_TICS_ZP 发表于 2014-6-25 10:28
Flash变大后,就不存在问题,确实是很可能是程序过大,引起这个问题。
图片好像不能上传,一直在转! ...
这是MAP文件中的:
9 468 bytes of readonlycode memory
40 bytes of readwrite code memory
488 bytes of readonlydata memory
369 bytes of readwrite data memory
Errors: none
Warnings: none
从这里看到话,Flash是足够用的。
我一觉得问题出在icf文件上,但是里面改来该去就那么几句话,我实在是查不出来,不停的调试,已经导致有两块样片写不进去了。 ln08136207 发表于 2014-6-25 10:34
这是MAP文件中的:
你把ICF文件贴出来给大伙看看! ln08136207 发表于 2014-6-25 10:34
这是MAP文件中的:
最后一个办法,新建个工程,然后将程序一点一点移植过去!{:smile:} FSL_TICS_ZP 发表于 2014-6-25 10:37
你把ICF文件贴出来给大伙看看!
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x00003FFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x1ffffe00;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x200;
define symbol __ICFEDIT_size_heap__ = 0x200;
/**** End of ICF editor section. ###ICF###*/
define symbol __region_RAM2_start__ = 0x20000000;
define symbol __region_RAM2_end__ = 0x200005ff;
define symbol __region_EEPROM_start__ = 0x10000000;
define symbol __region_EEPROM_end__ = 0x100000ff;
//define symbol __FlashConfig_start__ = 0x00000400;
//define symbol __FlashConfig_end__ = 0x0000040f;
define exported symbol __VECTOR_TABLE = 0x00000000;
define exported symbol __VECTOR_RAM = __ICFEDIT_region_RAM_start__;
define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 7;
define symbol __code_start__ = __ICFEDIT_region_ROM_start__ + 0x410;
define memory mem with size = 4G;
//define region ROM_region = mem: | mem:;
define region ROM_region =mem:;
define region RAM_region = mem: | mem:;
define region EEPROM_region = mem:;
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
//define region FlashConfig_region = mem:;
initialize by copy { readwrite };
//initialize manually { section .data};
//initialize manually { section .textrw };
do not initialize{ section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
/*place in FlashConfig_region {section FlashConfig};*/
place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP };
place in EEPROM_region { section .eeprom };
30楼就贴出来了 /*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0;
define symbol __ICFEDIT_region_ROM_end__ = (16*1024) -1;//********
define symbol __ICFEDIT_region_RAM_end__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_start__ =__ICFEDIT_region_RAM_end__ - (2*1024)/4 + 0x410;//********
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = __ICFEDIT_region_ROM_start__;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = (1*512);//********
define symbol __ICFEDIT_size_heap__ = (1*512);//********
/**** End of ICF editor section. ###ICF###*/
define symbol __region_RAM2_start__ = 0x20000000;
define symbol __region_RAM2_end__ = __region_RAM2_start__ + ((2*1024)*3)/4;//********
define exported symbol __VECTOR_TABLE = 0x00000000;
define exported symbol __VECTOR_RAM = __ICFEDIT_region_RAM_start__ - 0x410;
define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8;
define symbol __code_start__ = __ICFEDIT_region_ROM_start__ + 0x410;//********
define memory mem with size = 4G;
define region ROM_region = mem:;// | mem:;//********
define region RAM_region = mem:;// | mem:;
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
initialize manually { readwrite };
initialize manually { section .data};
initialize manually { section .textrw };
do not initialize{ section .noinit };
define block CodeRelocate { section .textrw_init };
define block CodeRelocateRam { section .textrw };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place at address mem:__code_start__ { readonly section .noinit };
place in ROM_region { readonly, block CodeRelocate};
place in RAM_region { readwrite, block CodeRelocateRam,
block CSTACK, block HEAP }; ln08136207 发表于 2014-6-25 10:44
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfE ...
你试试我在48楼贴出的ICF看看。 FSL_TICS_ZP 发表于 2014-6-25 11:09
你试试我在48楼贴出的ICF看看。
TKS!
初步验证没有问题,具体结果要我们测试工程师测试之后才能确定。能否讲解一下这两个link文件的不同? ln08136207 发表于 2014-6-25 11:44
TKS!
初步验证没有问题,具体结果要我们测试工程师测试之后才能确定。能否讲解一下这两个link文件的不同 ...
推荐你可以看看这个帖子。
http://www.amobbs.com/forum.php?mod=viewthread&tid=5584942&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline FSL_TICS_ZP 发表于 2014-6-25 11:50
推荐你可以看看这个帖子。
http://www.amobbs.com/forum.php?mod=viewthread&tid=5584942&extra=page%3D1 ...
还得专业的人来啊!{:titter:}
还得专业的人来啊! wangpengcheng 发表于 2014-6-29 13:01
还得专业的人来啊!
我也是边做边学,客气客气。 看看。以备后用 有一个疑问,目前Freescale对iar和keil的支持如何?比如说至少多少版本以后,像KL26的芯片 都全面支持? 申请不到样片就买些片子回来呗,不过呢,对比两个手册就能看出来两个芯片的差别。感觉你这问题跟芯片没关系呀 为什么一买就要一个包装?不会去E洛盟,RS,DIGIKEY,mouser之类的网站买吗?可以单片买的 cn_x 发表于 2014-6-30 14:01
为什么一买就要一个包装?不会去E洛盟,RS,DIGIKEY,mouser之类的网站买吗?可以单片买的 ...
我只是个技术员,公司规定只能从原厂或者那些代理那里走,我有什么办法? 是啊,谁量产不用量产芯片啊. 只是实验用其他相似芯片要把握好时间的啊. 大家就当是个教训吧.
页:
[1]