|
|
  |
График в IAR, как построить? |
|
|
|
May 2 2012, 09:29
|
Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 8-04-08
Из: Омск
Пользователь №: 36 562

|
Цитата(MrAlex @ May 2 2012, 15:21)  Сохранить значения в массив, сохранить область памяти в файл. Как то так. потом пробежаться по файлу, перевести hex в dec и в exel.... может кто писал подобный плагин с c-spy sdk? ps пробовал uProbe (micrium) то, что надо, но не работает параллельно с iar, был бы он плагином
|
|
|
|
|
May 3 2012, 07:57
|
Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 8-04-08
Из: Омск
Пользователь №: 36 562

|
Цитата(KRS @ May 2 2012, 16:46)  IMHO самое простое сохранить прямо в программе нужные данные в файл на компе! при помощи я правильно вас понял, __open и остальные - это макросы c-spy? получилось у меня так: CODE filesave() { __var myFileHandle; __var ii; myFileHandle=__openFile("$PROJ_DIR$/test.tst", "w"); for(ii=0;ii<128;ii++) __writeFile(myFileHandle, tmpW[ii]); __closeFile(myFileHandle); } где tmpW-интересующий меня массив. макрос запускается по точке останова. вообще штука полезная, большое спасибо за подсказку! один недостаток - writeFile пишет только числа в hex
|
|
|
|
|
May 3 2012, 09:45
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(sevastianovd @ May 3 2012, 11:57)  я правильно вас понял, __open и остальные - это макросы c-spy? Нет! через макросы c-spy как раз неудобно из-за формата записи. Я привел именно кусок программы! IAR позволяет писать и читать файлы на компе прямо из программы через отладчик, механизмы там разные (называется это semihosting), обычно ставится точка останова и дальше отладчик выкачивает/закачивает нужные данные. для программы/пользователя это прозрачно как вызов обычной функции. посмотрите в доке EWARM Develompment guide Part 1 Using the build tools DLIB runtime enviroment Application Debug support
|
|
|
|
|
May 4 2012, 03:35
|
Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 8-04-08
Из: Омск
Пользователь №: 36 562

|
Цитата(KRS @ May 3 2012, 15:45)  Я привел именно кусок программы! вот так получилось: CODE #include <yfuns.h> ... for(int i=0;i<128;i++){ dpf_xb.in=(int16_t)...; sprintf(tmpW[i],"%d\n\0",dpf_xb.in); ... } ... int myFileHandle; int ii; myFileHandle=__open("$PROJ_DIR$/test.txt", _LLIO_CREAT | _LLIO_TRUNC | _LLIO_WRONLY | _LLIO_TEXT/*BINARY*/); for(ii=0;ii<128;ii++) __write(myFileHandle, tmpW[ii],sizeof(unsigned char)*strlen(tmpW[ii]));
__close(myFileHandle);
получаю "удобный" текстовый файл, но время выполнения цикла записи 5,3 сек! я что-то не так делаю?
|
|
|
|
|
May 4 2012, 13:34
|
Гуру
     
Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48

|
Странно - у меня пишет в лог, причем все это достаточно медленно, и если окно лога закрыть, то сразу получаем ускорение. Возможно потому, что у меня все это работает через SWO. В лог выдается такое сообщение Код Fri May 04, 2012 16:36:28: execConfigureTraceSWO()
--------------------
Вам помочь или не мешать?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|