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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> STM32-H103 + IAR + MT-Link , помогите оживить
pan_oleg
сообщение Mar 11 2008, 09:49
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



Имею отладчик STM32-H103 Olimex.
А также JTAG отладчик MT-Link.
Викачал иар5.11.
Я так пологаю что через MT-Link мне нужно залить в STM32-H103 код и дальше работать с ним,
на пока все безуспешно.
Кто имел дело с всем этим добром, помогите розобратся.
Заранее благодарен.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 11 2008, 10:03
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



А разве MT-Link поддерживает STM32?
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Mar 11 2008, 10:13
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



А что не поддерживает?
Go to the top of the page
 
+Quote Post
cebotor
сообщение Mar 11 2008, 10:24
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(pan_oleg @ Mar 11 2008, 13:13) *
А что не поддерживает?

все поддерживает и замечательно работает .
1 Ставите на MT-link полагающиеся ему драйвера от j-linka, клоном которого он является.
2 В IAR-е в опция проэкта - Debugger выбираете j- link и работаете . (кнопка дебаг)


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 11 2008, 10:32
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Ядро Cortex-M3.
Различия здесь: http://www.arm.com/products/CPUs/ARM_Cortex-M3.html
Go to the top of the page
 
+Quote Post
cebotor
сообщение Mar 11 2008, 11:42
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(KAlex @ Mar 11 2008, 13:32) *
Ядро Cortex-M3.
Различия здесь: http://www.arm.com/products/CPUs/ARM_Cortex-M3.html

простите, это вы по поводу поддерживает или нет ?

говорю же поддерживает , ибо именно им (j-linkom ) IAR предполагает работать с этими процессорами.
Кортекс ядро Арм семейства, IAR под него EWARM, и его основной адаптер - j-link (то бишь MT-link)

на всякий случай, из практики - вот счас только что жал кнопку дебаг на указанном процессоре ;-)


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Mar 11 2008, 12:35
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



ок.
по очереди.
Драйувер для MT-Link я поставил, Он помтавился вместе с IAR5.11
потом после подключения MT-Link я установил дрова для J-Link
они поставелись о светодиодики на нем начали себя вести по другому

Подключаю MT-Link через JTAG к STM32-H103 Olimex и подаю на STM32-H103 Olimex питание (подключаю его к USB), и нечего не происходит
наверно я чтото не то делаю
кинте какойто рабочий екземпл проекта, пожалуйста
Go to the top of the page
 
+Quote Post
cebotor
сообщение Mar 11 2008, 13:28
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



абсолютно по очереди :
Цитата(pan_oleg @ Mar 11 2008, 15:35) *
Драйувер для MT-Link я поставил, Он помтавился вместе с IAR5.11

драйвера для MT-link не существует ибо MT-link это прибор созданный отечественными разработчиками(они тут бывают) по образу и подобию J-link.
с ИАР-ом ставяться драйвера на J-link, который как разработка ранее пренадлежал SEGGER , а потом был одолжен ИАР-у.

Цитата(pan_oleg @ Mar 11 2008, 15:35) *
потом после подключения MT-Link я установил дрова для J-Link

с Сеггера скачали ? в таком случае это просто более последняя версия .. они должны называться например
Setup_JLinkARM_V378c.exe
или
Setup_JLinkARM_V374g.zip или как нить вроде того
Цитата(pan_oleg @ Mar 11 2008, 15:35) *
они поставелись о светодиодики на нем начали себя вести по другому

сказать нечего - светодиодики должны вести себя по разному в зависимости от активности прибора .
у меня MT-link старый там 2 светодиода - красный ready и зеленый busy
в нормальном состоянии зеленый горит красный подмаргивает..
когда заливаю код - красный зажигается как светодиод HDD на компе - в зависимости от активности "на шине"..
Цитата(pan_oleg @ Mar 11 2008, 15:35) *
Подключаю MT-Link через JTAG к STM32-H103 Olimex и подаю на STM32-H103 Olimex питание (подключаю его к USB), и нечего не происходит
наверно я чтото не то делаю
кинте какойто рабочий екземпл проекта, пожалуйста

а что должно произойти ? вы проэкт компилите? проливаете ? как какой откуда ?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Mar 11 2008, 13:52
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



драйвера я взя вот откуда:
C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\drivers\Jlink
тоесть с своего винта
файлы
jlink.cat
jlinkx64.cat
jlink.inf
jlink64.inf
jlink.sys
jlink64.sys
в системе поставщик драйвера на устройство Segger
даю все сишники и хедери и О ЧУДО ДУБАГЕР ПОДКЛЮЧИЛСЯ, yeah.gif yeah.gif yeah.gif
огромное спасиба beer.gif
можно теперь примерчик для STM32-H103 Olimex чтоб хоть светодиодик зеленый включит и выключить
заранее спасибо
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Mar 14 2008, 09:48
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



Люди добрые, помогите с STM32 розобратся.
не могу ни одного примера запустить.
для начала пробую с установкой направления порта и мигание светодиодиками.
после входа в дебаг почемуто стою на адресе 0х08000120
код main.c розмещон в начальных адресах, начиная с 0х000002В8
не могу понять почему так
help.gif
Прикрепленные файлы
Прикрепленный файл  Example1.rar ( 7.28 килобайт ) Кол-во скачиваний: 24
 
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 14 2008, 10:14
Сообщение #11


Профессионал
*****

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



Цитата(pan_oleg @ Mar 14 2008, 12:48) *
Люди добрые, помогите с STM32 розобратся.
не могу ни одного примера запустить.

Я для начала отключил весь IAR стартап, благо что Cortex-M3 сам стек инитит.
И сразу отказался от ST библиотеки.

Для первого раза можно вообще не инитить сегменты ( не использовать начальные значения и не полагать что все глобальные переменные будут = 0 ) тогда код сильно упрощается и вы можете все проконтролировать

Код
uint32_t const __vector_table[]@".intvec" =
{
    0x20002800, // стек в конец RAM
    (uint32_t)main
};
__noreturn
void main(void)
{
    RCC_APB2ENR_bit.IOPBEN = 1;
    RCC_APB2ENR_bit.IOPAEN = 1;
// дальше надо проинитить нужные GPIO ноги и попробовать дернуть ногой
// это можно сделать и через окно регистров в IAR для пробы там удобно все сделано


в настройках линкера надо указать
entry symbol __vector_table

а icf файл для отладки в RAM у меня такой

Код
define memory mem with size = 4G;
define region RAM = mem:[from 0x20000000 to 0x200027FF];

do not initialize { section .bss };

place at start of RAM { section .intvec };
place in RAM          { readonly,  readwrite };


для флеша
Код
define memory mem with size = 4G;
define region ROM = mem:[from 0 to 0x7FFF];
define region RAM = mem:[from 0x20000000 to 0x200027FF];

do not initialize { section .bss };

place at start of ROM { section .intvec};
place in ROM          { readonly };
place in RAM          { readwrite };


для отладки в RAM еще mac файл для дебагера, но я использую GDB сервер и openocd, с J link должно быть проще, надо посомтреть как будет инитится стек и PC при старте и может не надо будет PC устанавливать.
Код
execUserReset( )
{
    __message "RAM START";
    __writeMemory32(0x20000000,0xE000ED08,"Memory"); // VTOR
    __writeMemory32(0x05FA0001,0xE000ED0C,"Memory"); // Reset request
    __writeMemory32(0x20000000,0xE000ED08,"Memory"); // VTOR
    __writeMemory32(__readMemory32(0x20000004,"Memory") & (~1),0xB4,"Register"); //Set PC to entry point
    //__writeMemory32(0x20002800,0x8C,"Register"); // main stack
}
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Mar 14 2008, 11:46
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



извените, не совсем понял, куда мне нужно первую часть кода, что ви добавели, вставить, в main.c?

я добавил в main.c

uint32_t const __vector_table[]@".intvec" =
{
0x20002800, // ñòåê â êîíåö RAM
(uint32_t)main
};
__noreturn


и уменя выскочили ошыбки

Building configuration: 1 - Debug
Updating build tree...
main.c
Error[Pe077]: this declaration has no storage class or type specifier D:\Work\data_sheet\ARM32 CORTEX\my_first\main.c 33
Error[Pe065]: expected a ";" D:\Work\data_sheet\ARM32 CORTEX\my_first\main.c 33
Warning[Pe012]: parsing restarts here after previous syntax error D:\Work\data_sheet\ARM32 CORTEX\my_first\main.c 37
Error while running C/C++ Compiler

Total number of errors: 2
Total number of warnings: 1


возможно уменя и скомпилятором чтото не то ?
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 14 2008, 11:52
Сообщение #13


Профессионал
*****

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



Цитата(pan_oleg @ Mar 14 2008, 14:46) *
извените, не совсем понял, куда мне нужно первую часть кода, что ви добавели, вставить, в main.c?

я предлагаю не добавлять, а создать новый проект, причем так что бы был только ваш код ни каких билиотек, инициализации сегментов и т.п... Для начала это позволит разобраться как стартует процессор, разобраться со стеком, точками входа...
(да еще в настройках дебагера убрать run to main что бы сразу останвливался)

Цитата(pan_oleg @ Mar 14 2008, 14:46) *
я добавил в main.c

uint32_t const __vector_table[]@".intvec" =
{
0x20002800, // ñòåê â êîíåö RAM
(uint32_t)main
};
__noreturn


__noreturn относится к определению main
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Mar 14 2008, 11:59
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



какой проект создавать , С или С++ ?
создаю через меню проджект, крийет
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 14 2008, 12:07
Сообщение #15


Профессионал
*****

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



Цитата(pan_oleg @ Mar 14 2008, 14:59) *
какой проект создавать , С или С++ ?
создаю через меню проджект, крийет

раз пошли такие вопросы, проще думаю будет скопировать .ewp и .ewd от примера, потом просто удалить все файлы из проекта и добавить нужные ( для начала хватит одного сишного), потому что там еще куча настроек....
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 08:23
Рейтинг@Mail.ru


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