реклама на сайте
подробности

 
 
> STM32-F4, Отладка из Eclipse
_Артём_
сообщение Feb 16 2012, 16:47
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Как нынче обстоят дела с отладкой из Eclipse через STLink-SWD.
Она реализована? Или это из области ненаучной фантастики?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AHTOXA
сообщение Feb 19 2012, 06:13
Сообщение #2


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(_Артём_ @ Feb 19 2012, 04:05) *
Вродь все подменил, но
Цитата
../scmRTOS/Common/scmRTOS.h:54:23: fatal error: OS_Target.h: No such file or directory

Похоже, что не заменили в makefile "CortexM3" на "Cortex-M0".
Цитата(_Артём_ @ Feb 19 2012, 04:05) *
Цитата
c:/yagarto/bin/../lib/gcc/arm-none-eabi/4.6.0/../../../../arm-none-eabi/bin/ld.exe:./prj/LPC1114_2xx.ld:5: syntax error

Что-то не так с LPC1114_2xx.ld?

Хм. Странно... Попробуйте изменить комментарий в строке 5 с // на /* */

Цитата(_Артём_ @ Feb 19 2012, 05:55) *
P.S. Попробовал открыть остальные примеры:
Цитата
cannot open linker script file ./prj/STM32F10X_MD_VL.ld: No such file or directory 4-Debug C/C++ Problem

Надо скопировать содержимое папки prj из первого примера в остальные.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 19 2012, 15:32
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(AHTOXA @ Feb 19 2012, 08:13) *
Похоже, что не заменили в makefile "CortexM3" на "Cortex-M0".

Типа того:
Цитата
DIRS += $(SCMDIR)/Common $(SCMDIR)/CortexM0


Цитата(AHTOXA @ Feb 19 2012, 08:13) *
Что-то не так с LPC1114_2xx.ld?
Хм. Странно... Попробуйте изменить комментарий в строке 5 с // на /* */

Могит быть. Заменил, помогло, но:
Цитата
c:/yagarto/bin/../lib/gcc/arm-none-eabi/4.6.0/../../../../arm-none-eabi/bin/ld.exe:./prj/LPC1114_2xx.ld:87: syntax error



Цитата(AHTOXA @ Feb 19 2012, 08:13) *
Надо скопировать содержимое папки prj из первого примера в остальные.

Я пребывал в уверенности, что они туда уже положены.

Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 19 2012, 19:07
Сообщение #4


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(_Артём_ @ Feb 19 2012, 21:32) *
Типа того:
Цитата
DIRS += $(SCMDIR)/Common $(SCMDIR)/CortexM0

Да, только не "CortexM0", а "Cortex-M0".
Цитата
Могит быть. Заменил, помогло, но:

Теперь в строке 87 - там скобка лишняя.
Цитата
Я пребывал в уверенности, что они туда уже положены.

Если для получения примеров воспользоваться svn, то потом при помощи приложеннго батника всё делается сразу - и ось распихивается по папкам, и содержимое папки prj копируется из первого проекта в остальные. Но вам всё равно придётся заменять это содержимое под свой процессор.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 19 2012, 20:42
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(AHTOXA @ Feb 19 2012, 21:07) *
Да, только не "CortexM0", а "Cortex-M0".

Почему с "-", папка ведь называется CortexM0?
Или так решено для cortex папки называть?


Цитата(AHTOXA @ Feb 19 2012, 21:07) *
Теперь в строке 87 - там скобка лишняя.


Такая же скобка на стр. 90(это смайлик наверное?, только линкер юмора не понял):
Цитата
PROVIDE ( _estack = .) );


Ещё выдало:
Цитата
./prj/LPC1114_3xx.ld:147: undefined symbol `_bstack' referenced in expression


Цитата(AHTOXA @ Feb 19 2012, 21:07) *
Если для получения примеров воспользоваться svn, то потом при помощи приложеннго батника всё делается сразу - и ось распихивается по папкам, и содержимое папки prj копируется из первого проекта в остальные.

Удобно. Работает сразу или нужно что-то ставить (WinXP)?



Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 20 2012, 03:38
Сообщение #6


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(_Артём_ @ Feb 20 2012, 02:42) *
Почему с "-", папка ведь называется CortexM0?
Или так решено для cortex папки называть?

В самом порте (pre-v400\Samples\Cortex-M0\GCC\scmRTOS\) папка называется Cortex-M0. Поэтому и в примерах, когда они появятся, она будет называться так же. Так что лучше переименуйте, чтоб потом не путаться.
Цитата(_Артём_ @ Feb 20 2012, 04:57) *
Зашил: похоже что как-то работает.

Отличноsm.gif
Цитата
1) Не работает Systick: наверное потому что закоментил строки в sysinit.cpp:
Код
    LPC_SYSCON->SYSPLLCTRL = 0
            //| ( (PLL_MUL - 1) << LPC_MSEL)
            //| ( PLL_DIV << LPC_PSEL)
         ;

Чему равны PLL_DIV и PLL_MUL?

Думаю, что это надо смотреть в документации на контроллер.
Цитата
2) Где нынче считается правильным настраивать прерывание OS::SystemTimer_ISR?

В OS_Target_asm.S. Частота зависит от двух дефайнов: SYSTICKFREQ и SYSTICKINTRATE, которые задаются на уровне проекта в файле scmRTOS_TARGET_CFG.h.
Цитата
3) Мелочь но всё ж: ld.exe выдавал ошибку на //. Это у меня версия устаревшая?

Возможно.

Цитата
4) Что делать с
Цитата
warning: ISO C99 doesn't support unnamed structs/unions [-pedantic]

Тут ничего не поделать. Только убрать ключ -pedantic в makefile.
Цитата
5) Существует ли программа какая-нибудь для редактирования ld-файлов? Или всё вручную принято делать?

Не встречал такой.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 20 2012, 08:20
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Не пинайте ногами. Был проект, в него подошел LPC1114. Под этот проект писался и на нем отлаживался порт scmRTOS для Cortex-M0. Потом из этого проекта были выдраны файлы, непосредственно относящиеся к scmRTOS и положены в репозиторий с целью довести их до полноценного порта позже. Перед помещением в реп были сделаны мелкие правки - выкусывание того, что не имеет отношения к ОС. После правок эти огрызки, естественно, не проверялись компиляцией.

QUOTE
PLL_DIV и PLL_MUL?

У меня описано так:
CODE
#ifndef HARDWARE_H__
#define HARDWARE_H__
#include    <pin_macros.h>

#define IRC_FREQ            12000000ULL

#define PLL_MUL             4
#define PLL_DIV             2

#define MAIN_CLK_FREQ       (IRC_FREQ * PLL_MUL)

#define SYS_CLK_DIV         1
#define SYS_CLK_FREQ        (MAIN_CLK_FREQ / SYS_CLK_DIV)

#define SYSTICK_CLK_FREQ    (SYS_CLK_FREQ / 2)

#define UART_PCLK_FREQ      (SYS_CLK_FREQ)

#define BAUDRATE            115200

#define LED             0,4,H

#endif  // HARDWARE_H__



QUOTE (_Артём_ @ Feb 20 2012, 00:57) *
2) Где нынче считается правильным настраивать прерывание OS::SystemTimer_ISR?
Однозначного решения нет. В порте CM3 он настраивается в os_start(). Я решил настраивать его в main(), дабы не подключать в исходники ОСи описание регистров и чтобы не подключать туда каким-то образом #define с частотами.
CODE
int main()
{
    // setup SysTick timer
    SysTick->LOAD = SYSTICK_CLK_FREQ / RTOS_TICK_RATE - 1;
    SysTick->VAL = 0;   // reset counter
    SysTick->CTRL = 0
            | (1 << SysTick_CTRL_ENABLE_Pos)    // Enable timer
            | (1 << SysTick_CTRL_TICKINT_Pos)   // Enable SysTick interrupts
            | (0 << SysTick_CTRL_CLKSOURCE_Pos) // System clock/2
         ;

    // run
    OS::run();
}


QUOTE (_Артём_ @ Feb 20 2012, 00:57) *
3) Мелочь но всё ж: ld.exe выдавал ошибку на //. Это у меня версия устаревшая?
Нет, это я правил файл после "выкусывания" из проекта и по привычке использовал Цеплюсплюсный однострочный комментарий.

QUOTE (_Артём_ @ Feb 19 2012, 22:42) *
Такая же скобка на стр. 90(это смайлик наверное?, только линкер юмора не понял):
"Сама себе порой я удивляюсь". Откуда там эти строки - загадка. Исправил в репозитории и проверил - больше линкер не ругается.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Артём_   STM32-F4   Feb 16 2012, 16:47
- - klen   по существу ответить ничего не могу но если присут...   Feb 16 2012, 17:14
|- - _Артём_   Цитата(klen @ Feb 16 2012, 19:14) если пр...   Feb 16 2012, 17:32
|- - AHTOXA   Вот здесь пишут, что openocd 0.6.0 из GIT-репозито...   Feb 16 2012, 17:36
|- - _Артём_   Цитата(AHTOXA @ Feb 16 2012, 19:36) Вот з...   Feb 16 2012, 19:02
|- - AHTOXA   Цитата(_Артём_ @ Feb 17 2012, 01:02) Я та...   Feb 16 2012, 19:23
|- - _Артём_   Цитата(AHTOXA @ Feb 16 2012, 22:23) При ч...   Feb 16 2012, 19:49
|- - ReAl   Цитата(AHTOXA @ Feb 16 2012, 21:23) Не, л...   Feb 16 2012, 20:20
|- - _Артём_   Цитата(ReAl @ Feb 16 2012, 23:20) Так оно...   Feb 16 2012, 21:27
- - AHTOXA   Цитата(_Артём_ @ Feb 17 2012, 01:49) А гд...   Feb 17 2012, 04:57
|- - _Артём_   Цитата(AHTOXA @ Feb 17 2012, 06:57) Посмо...   Feb 17 2012, 11:08
|- - Petka   Цитата(_Артём_ @ Feb 17 2012, 15:08) ... ...   Feb 17 2012, 11:59
||- - _Артём_   Цитата(Petka @ Feb 17 2012, 13:59) Вообще...   Feb 17 2012, 12:49
|- - AHTOXA   Цитата(_Артём_ @ Feb 17 2012, 17:08) Опят...   Feb 17 2012, 15:55
|- - klen   Цитата(AHTOXA @ Feb 17 2012, 19:55) ... п...   Feb 17 2012, 19:24
||- - AHTOXA   Спасибо!   Feb 17 2012, 19:33
|- - _Артём_   Цитата(AHTOXA @ Feb 17 2012, 17:55) Это в...   Feb 17 2012, 19:38
|- - AHTOXA   Цитата(_Артём_ @ Feb 18 2012, 01:38) Расп...   Feb 17 2012, 20:29
|- - _Артём_   Цитата(AHTOXA @ Feb 17 2012, 22:29) Там ж...   Feb 17 2012, 22:04
|- - AHTOXA   Цитата(_Артём_ @ Feb 18 2012, 03:45) Дела...   Feb 17 2012, 22:18
|- - _Артём_   Цитата(AHTOXA @ Feb 18 2012, 00:18) Прави...   Feb 17 2012, 22:39
|- - AHTOXA   Цитата(_Артём_ @ Feb 18 2012, 04:39) Да, ...   Feb 18 2012, 05:13
|- - _Артём_   Цитата(AHTOXA @ Feb 18 2012, 07:13) Да, э...   Feb 18 2012, 13:16
|- - AHTOXA   Цитата(_Артём_ @ Feb 18 2012, 19:16) Собр...   Feb 18 2012, 15:12
|- - _Артём_   Цитата(AHTOXA @ Feb 18 2012, 17:12) Аминь...   Feb 18 2012, 15:46
|- - _Артём_   Из LPC1114_2xx.ld: КодMEMORY { TEXT (rx) ...   Feb 18 2012, 17:49
|- - Сергей Борщ   QUOTE (_Артём_ @ Feb 18 2012, 19:49) Поче...   Feb 18 2012, 18:09
- - Kornelij   Можно скачать триальный Atollic TrueSTUDIO. Саму п...   Feb 17 2012, 08:39
- - AHTOXA   Цитата(_Артём_ @ Feb 18 2012, 21:46) Буде...   Feb 18 2012, 18:02
|- - _Артём_   Цитата(AHTOXA @ Feb 18 2012, 20:02) По ид...   Feb 18 2012, 18:34
|- - _Артём_   Ещё момент. Не существенный, но всё ж. Как папку...   Feb 18 2012, 20:15
||- - _Артём_   Заменил в makefile Цитата# Select family # STM32F...   Feb 18 2012, 20:58
|- - AHTOXA   Цитата(_Артём_ @ Feb 19 2012, 00:34) А по...   Feb 18 2012, 20:52
|- - _Артём_   Цитата(AHTOXA @ Feb 18 2012, 22:52) Да пр...   Feb 18 2012, 23:55
- - _Артём_   Вродь все подменил, но Цитата--- building 1-EventF...   Feb 18 2012, 22:05
|- - _Артём_   Добавил в main.cpp настройку SysTick, слинковал ск...   Feb 20 2012, 22:05
|- - sherr   У кого-нибудь есть скрипт для заливки flash ...   Mar 31 2012, 19:01
|- - AHTOXA   Попробуйте вот так: Кодopenocd -f interface/stlink...   Mar 31 2012, 20:28
|- - sherr   Цитата(AHTOXA @ Mar 31 2012, 23:28) Попро...   Apr 1 2012, 18:51
- - ReAl   Ничего кроме svn (subversion)   Feb 19 2012, 22:34
- - _Артём_   Идём дальше. Заменил в makefile: ЦитатаLD_SCRIPT =...   Feb 19 2012, 22:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 06:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01904 секунд с 7
ELECTRONIX ©2004-2016