Jump to content

    
Sign in to follow this  
GentleFly

IAR, J-Link, Kinetis K60

Recommended Posts

Привет всем. Нуждаюсь в помощи.

 

Уже четвертые сутки пытаюсь начать работать с IAR, J-Link, Kinetis K60.

  • IAR for ARM v6.3;
  • J-Link, я так понял, копия. На плате обнаружил маркировку «W-Link V8.0» (at91sam7s64);
  • МК – Kinetis K60P144M100SF2 (маркировка на плате PK60N512VLQ100). Плата подготовлена с JTAG.

Поставил IAR, установил Setup_JLinkARM_V450m.exe с официального сайта. Ищу в example projects», в папках IAR. Запускаю проект hello_world_k60_tower. Пробегаюсь по настройкам проекта аналогично этому http://www.segger.com/IDE_Integration_IAR.html. Далее жмякую на «Download and Debug». В ответ получаю несколько сообщений об ошибке:

  1. Failed to get CPU status after 4 retries/ Retry ?
  2. Fatal error: Session aborted!
  3. Failed to load flash loader C:Progr…FlashK60Xxxx.flash
  4. The debugging session could not be started. Either the debugger initialization failed, or else the file "… hello_world_k60_tower.out" was corrupt or of an unsupported format.

Debug Log:

Mon Jul 30, 2012 00:08:39: Loaded macro file: C:Program Files (x86)IAR SystemsEmbedded Workbench 6.0armconfigflashloaderFreescaleFlashK60Xxxx.mac
Mon Jul 30, 2012 00:08:39: JLINK command: ProjectFile = C:Program Files (x86)IAR SystemsEmbedded Workbench 6.0armexamplesFreescaleKinetishello_worldsettingshello_world_k60_tower_FLASH_128
KB_PFLASH.jlink, return = 0
Mon Jul 30, 2012 00:08:39: Device "MK60DN512XXX10" selected (512 KB flash, 128 KB RAM).
Mon Jul 30, 2012 00:08:39: JLINK command: device = MK60DN512xxx10, return = 0
Mon Jul 30, 2012 00:08:39: DLL version: V4.51j, compiled Jul 24 2012 22:40:14
Mon Jul 30, 2012 00:08:39: Firmware: J-Link ARM V8 compiled Jul 20 2012 16:33:52
Mon Jul 30, 2012 00:08:39: JTAG speed is initially set to: 32 kHz
Mon Jul 30, 2012 00:08:39: Could not measure total IR len. TDO is constant high.
Mon Jul 30, 2012 00:08:39: Could not measure total IR len. TDO is constant high.
Mon Jul 30, 2012 00:08:39: Hardware reset with strategy 0 was performed
Mon Jul 30, 2012 00:08:39: Initial reset was performed
Mon Jul 30, 2012 00:08:39: Could not measure total IR len. TDO is constant high.
...
Mon Jul 30, 2012 00:08:40: Could not measure total IR len. TDO is constant high.
Mon Jul 30, 2012 00:08:40: ----- Prepare hardware for Flashloader -----
Mon Jul 30, 2012 00:08:40: Could not measure total IR len. TDO is constant high.
...
Mon Jul 30, 2012 00:10:37: Could not measure total IR len. TDO is constant high.
Mon Jul 30, 2012 00:11:45: Fatal error:    Session aborted!
Mon Jul 30, 2012 00:11:45: Failed to load flash loader: C:Program Files (x86)IAR SystemsEmbedded Workbench 6.0armconfigflashloaderFreescaleFlashK60Xxxx.out
Mon Jul 30, 2012 00:11:45: Failed to load flash loader: C:Program Files (x86)IAR SystemsEmbedded Workbench 6.0armconfigflashloaderFreescaleFlashK60Xxxx.flash

Что говорит при запуске jlink.exe

SEGGER J-Link Commander V4.36f ('?' for help)
Compiled Oct 22 2011 15:21:57
DLL version V4.51j, compiled Jul 24 2012 22:40:14
Firmware: J-Link ARM V8 compiled Jul 20 2012 16:33:52
Hardware: V8.00
S/N: 11111118
VTarget = 3.222V
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
No devices found on JTAG chain. Trying to find device on SWD.
Info: Found SWD-DP with ID 0x2BA01477

****** Error: Could not read AHB-AP Id. Could not connect to target.
No device found on SWD.
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
No devices found on JTAG chain. Trying to find device on SWD.
Info: Found SWD-DP with ID 0x2BA01477

****** Error: Could not read AHB-AP Id. Could not connect to target.
No device found on SWD.
J-Link>

 

Каждый раз перед строкой "****** Error: Could not read AHB-AP Id. Could not connect to target." Вываливается окошко с сообщением:

"Secured Kinetis device detected/ For debugger connection the device needce to be unsecured. Do you want to unsecure the device?

Note:Unsecuring will trigger a mass erase of the internal flash."

Вышел на ето, но мне ет чет не помогло :(

B еще на J-Link есть "сдвоенный диод" Ready/Error. И при подачи питания с платы, начинает предательски мигать красным (я так понимаю что эт ерор).

В общем много и долго ковырялся (4 дня), ни как могу понять в чем проблема :( В контролере или J-Linke ?

И что самое интересное, что когда мне все эт вручали, все вроде нормально работало :(

Очень прошу помощи.

Share this post


Link to post
Share on other sites
Каждый раз перед строкой "****** Error: Could not read AHB-AP Id. Could not connect to target." Вываливается окошко с сообщением:

"Secured Kinetis device detected/ For debugger connection the device needce to be unsecured. Do you want to unsecure the device?

Note:Unsecuring will trigger a mass erase of the internal flash."

Вышел на ето, но мне ет чет не помогло :(

Судя по этим сообщениям у вас залочен чип, что бы его разблокировать, по идее, нужно сделать full erase. Ссылку вы нашли правильную, только чип у вас уже заблокирован.

 

Кстати, а в J-Link Commander'e делали

J-Link> unlock Kinetis
Edited by PoReX

Share this post


Link to post
Share on other sites
J-Link> unlock Kinetis
Пробовал :( Тот возвращает:

J-Link>unlock Kinetis
Found SWD-DP with ID 0x2BA01477
Unlocking device...O.K.
J-Link>

Ток после етого пробую все заного и ничего не меняется :( Может чего еще надо сделать, какую нить команду ?

 

И почему у мя

jlink.exe:

Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000

Debug Log(IAR) я так понимаю эт тоже самое:

Could not measure total IR len. TDO is constant high.

Эт нормально ? У всех на форумах TotalIRLen имеет какое то значение.

Судя по этому эт можетбыть следствием "залоченного проца" ?

Share this post


Link to post
Share on other sites
Ток после етого пробую все заного и ничего не меняется

С новым конфигурационным файлом?

Попробуйте в Keil'e запустить проект и не помешал бы проект IAR.

 

jlink.exe:
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000

Debug Log(IAR) я так понимаю эт тоже самое:

Could not measure total IR len. TDO is constant high.

Эт нормально ? У всех на форумах TotalIRLen имеет какое то значение.

Честно говоря не знаю что за TotalIRLen. А вот поведение TDO странное. Что за плата, самодельная или кит? J-Link правильно подключен?

Share this post


Link to post
Share on other sites
Что за плата, самодельная или кит? J-Link правильно подключен?
Да плата "своя".J-Link проверил еще раз, вроде, все правильно.

 

Чет я запутался...

Edited by GentleFly

Share this post


Link to post
Share on other sites

Вроде какойто прогресс :)

Нашел у SEGGER (C:Program Files (x86)SEGGERJLinkARM_V450mSamplesJLinkProjects) Один интересный проектик. Переключил, в настройках, на свой "Device".

Далее запускаю jlink.exe, и вводим команду разблокировки.

SEGGER J-Link Commander V4.50m ('?' for help)
Compiled Jul 20 2012 19:39:47
DLL version V4.50m, compiled Jul 20 2012 19:39:26
Firmware: J-Link ARM V8 compiled Jul 20 2012 16:33:52
Hardware: V8.00
S/N: 11111118
VTarget = 3.215V
Info: Found SWD-DP with ID 0x2BA01477

****** Error: Could not read AHB-AP Id. Could not connect to target.
Info: Found SWD-DP with ID 0x2BA01477
No devices found on JTAG chain. Trying to find device on SWD.
Info: Found SWD-DP with ID 0x2BA01477

****** Error: Could not read AHB-AP Id. Could not connect to target.
Info: Found SWD-DP with ID 0x2BA01477
No device found on SWD.
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
No devices found on JTAG chain. Trying to find device on SWD.
Info: Found SWD-DP with ID 0x2BA01477

****** Error: Could not read AHB-AP Id. Could not connect to target.
Info: Found SWD-DP with ID 0x2BA01477
No device found on SWD.
J-Link>unlock Kinetis
Found SWD-DP with ID 0x2BA01477
Unlocking device...O.K.
J-Link>

Далее, не закрывая jlink.exe, идем в IAR и «Download and Debug». И получаем Debug Log:

Thu Aug 02, 2012 07:45:22: Loaded macro file: E:\projects\Kinetis_ETB_ETM_Trace_IARV610\Config\ETMInit.mac 
07:45:22: JLINK command: ProjectFile = E:\projects\Kinetis_ETB_ETM_Trace_IARV610\settings\Kinetis_ETBTrace_IARV610_Debug_RAM.jlink, return = 0 
07:45:22: Device "MK60DN512XXX10" selected (512 KB flash, 128 KB RAM). 
07:45:22: JLINK command: device = MK60DN512xxx10, return = 0 
07:45:22: DLL version: V4.50m, compiled Jul 20 2012 19:39:26 
07:45:22: Firmware: J-Link ARM V8 compiled Jul 20 2012 16:33:52 
07:45:22: JTAG speed is initially set to: 1000 kHz 
07:45:22: Found SWD-DP with ID 0x2BA01477 
07:45:26: Fatal error: Could not read AHB-AP Id. Could not connect to target.   Session aborted! 
07:45:26: Failed to load debugee: E:\projects\Kinetis_ETB_ETM_Trace_IARV610\Output\Debug_RAM\Exe\Kinetis_ETBTrace_IARV610.out

Теперь будем разбираться что за "Could not read AHB-AP Id. Could not connect to target.", "Found SWD-DP with ID 0x2BA01477".

В Keil'e пока не пробовал. Последний проект для IAR Kinetis_ETB_ETM_Trace_IARV610.rar

Share this post


Link to post
Share on other sites
по идее, нужно сделать full erase

В общем к этому я и пришел ток я не могу понять как это сделать.

С английским у меня проблемы, но вроде здесь и здесьчет об этом говорится но и упоминается некий "erase_all_pin.jlk". Эт наверно линкер скрипт ? Но не смог найти его (ток на каком-то азиатском форуме, зарегистрироваться не смог :( языка не знаю), а как его описать самостоятельно, не понимаю. Одного "unlock Kinetis" видимо мало.

Может кто сможет чего подсказать ?

Edited by GentleFly

Share this post


Link to post
Share on other sites
Вроде какойто прогресс :)

Info: Found SWD-DP with ID 0x2BA01477
No device found on SWD.
J-Link>unlock Kinetis
Found SWD-DP with ID 0x2BA01477
Unlocking device...O.K.
J-Link>

Не хочу вас огорчать, но по-моему никакого прогресса нет, посмотрите на лог первого поста. Вообще не понятно как jlink смог разблокировать kinetis если его не нашел.

Мне кажется, что здесь все-таки проблема в схеме, т.к. Jlink не находит проц вообще. Еслиб он был просто заблокирован, то все равно бы отзывался(с Kinetisами не работал, но у остальных контроллеров так).

 

Share this post


Link to post
Share on other sites

Попробуйте в IAR поставить режим работы эмулятора SWD вместо JTAG. У меня была точно такая же ошибка с K60 на самодельной плате, по SWD нормально шилось- отлаживалось, по JTAG не получалось. Розыск причины отложил на потом, работаю по SWD.

Share this post


Link to post
Share on other sites
...Мне кажется, что здесь все-таки проблема в схеме, т.к. Jlink не находит проц вообще. Еслиб он был просто заблокирован, то все равно бы отзывался...
Думаю каокой-то отзыв есть. Т.к. jlink.exe (V4.50m), при запуске:

Каждый раз перед строкой "****** Error: Could not read AHB-AP Id. Could not connect to target." Вываливается окошко с сообщением:

"Secured Kinetis device detected/ For debugger connection the device needce to be unsecured. Do you want to unsecure the device?

Note:Unsecuring will trigger a mass erase of the internal flash."

Т.е. я ему не указывал что работаю с Kinetis, а он уже мне говорит что тот "...Secured Kinetis device detected...". Значит мк отзывается и говорит что он Kinetis, или я ошибаюсь ?

 

Попробуйте в IAR поставить режим работы эмулятора SWD вместо JTAG. У меня была точно такая же ошибка с K60 на самодельной плате, по SWD нормально шилось- отлаживалось, по JTAG не получалось...
Логично, до меня ток дошло, что сообщение "Found SWD-DP with ID 0x2BA01477" - найден SWD Debug Port c ID 0x2BA01477. Но к моему сожалению ничего не изменилось :(

 

АДИКМ, может у вас есть возможность поделится простеньким рабочим проектом со всеми конфигурационными файлами (нужных для запуска проекта)? Я буду очень благодарен. Мож мне поможет. Могу в личку скинуть емайл.

 

Пришли изменения после того как скачал последнею версию jlink.exe (V4.52).

IAR Debug Log:

05:37:20: Loaded macro file: E:\projects\Kinetis_ETB_ETM_Trace_IARV610\Config\ETMInit.mac 
05:37:20: Logging to file: E:\projects\Kinetis_ETB_ETM_Trace_IARV610\cspycomm.log 
05:37:20: JLINK command: ProjectFile = E:\projects\Kinetis_ETB_ETM_Trace_IARV610\settings\Kinetis_ETBTrace_IARV610_Debug_RAM.jlink, return = 0 
05:37:20: Device "MK60DN512XXX10" selected (512 KB flash, 128 KB RAM). 
05:37:20: JLINK command: device = MK60DN512Zxxx10, return = 0 
05:37:20: DLL version: V4.52m, compiled Aug  3 2012 16:58:00 
05:37:20: Firmware: J-Link ARM V8 compiled Aug  1 2012 13:40:47 
05:37:20: JTAG speed is using adaptive clocking (RTCK signal) 
05:37:22: Found SWD-DP with ID 0x2BA01477 
05:37:26: Fatal error: Kinetis (connect): Timeout while halting CPU. CPU does not stop.   Session aborted! 
05:37:26: Failed to load debugee: E:\projects\Kinetis_ETB_ETM_Trace_IARV610\Output\Debug_RAM\Exe\Kinetis_ETBTrace_IARV610.out

Теперь он говорит "Fatal error: Kinetis (connect): Timeout while halting CPU. CPU does not stop. Session aborted!". Ну чтож, попробуем разбираться :(

Share this post


Link to post
Share on other sites

А у Kinetis'a есть другие способв прошивки, UART, USB и д.р.? Может попробовать связаться через них и тогда станет ясно, жив пациент или нет.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this