Например TDA7294

Форум РадиоКот • Просмотр темы - STM32 на keil с нуля. Помогите пожалйста
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 12:04:08

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 28 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Вт ноя 17, 2015 23:46:51 
Родился

Зарегистрирован: Вт сен 01, 2015 16:55:09
Сообщений: 12
Рейтинг сообщения: 0
Подскажите пожалуйста, нашёл в интернете на первый взгляд очень хороший цикл статей по STM32 на keil, но у меня ничего не получается с самого первого шага - создания пустого проекта. Все выполнено согласно статье, но в результате огромное количество ошибок.
Почему так?
И как вообще лучше подойти к изучению этого вопроса? "С" не знаю - сначала его изучать по Кернигану и Ричи или с необходимой частью "С" разберусь по ходу? (есть хорошая статья на коте:http://radiokot.ru/articles/56/ но она по работе с CooCox, а мне нужен именно keil)


Вложения:
1.jpg [244.31 KiB]
Скачиваний: 862
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср ноя 18, 2015 05:30:45 
Электрический кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 128
Зарегистрирован: Чт июн 20, 2013 00:00:58
Сообщений: 1031
Откуда: москва, м.Сходненская
Рейтинг сообщения: 0
через это наверное каждый проходит))) сам бился над этим больше мес. понимание придет с опытом.
http://radiokot.ru/forum/viewtopic.php?f=59&t=67578 читайте с самого начала, мне помогло.
http://easyelectronics.ru/rabota-s-stm32f10x-standard-peripherals-library.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Чт ноя 19, 2015 19:09:57 
Родился

Зарегистрирован: Вт сен 01, 2015 16:55:09
Сообщений: 12
Рейтинг сообщения: 0
Спасибо)


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Вс мар 06, 2016 20:19:21 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Добрый день. Не могу понять поведение KEIL. В начале программы пытаюсь в RAM инициализировать три переменных. RAM начинается с адреса 0x20000000. По идее, исходя из скаттер файла, кейл должен положить эти переменные начиная с вышеприведенного адреса. Но в самом начале идет какой-то мусор и соответственно эти константы он кладет после. При считывании адреса переменной, адрес начинается как положено с 0х20000000
http://img.radiokot.ru/files/113953/vk3vby3gm.png


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Пн мар 07, 2016 08:59:37 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Как вообще в KEILе инициализировать именованные переменные в RAM? Всю голову сломал.

____AREA my_var, DATA, READWRITE
blala DCD 1000

Не прокатывает. В начале RAM нет этой переменной


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Пн мар 07, 2016 10:37:30 
Опытный кот
Аватар пользователя

Карма: 16
Рейтинг сообщений: 166
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 821
Откуда: город Белых гор
Рейтинг сообщения: 0
Попробую подсказать.
1) Скажите, где располагается таблица прерываний в вашем процессоре?
2) int Foo = 11234;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Пн мар 07, 2016 16:55:25 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Таблица прерываний в начале флеша, вестимо, по адресу 0х08000000


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Пн мар 07, 2016 17:51:14 
Опытный кот
Аватар пользователя

Карма: 16
Рейтинг сообщений: 166
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 821
Откуда: город Белых гор
Рейтинг сообщения: 0
А если посмотреть файл листинга, там же есть адреса переменных?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Пн мар 07, 2016 19:03:49 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Файл листинга.
Изображение
Не могу понять, почему переменные с нулевого адреса? И почему unused? Как-то надо инициализировать ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Вт мар 08, 2016 02:09:58 
Грызет канифоль

Карма: 4
Рейтинг сообщений: 33
Зарегистрирован: Чт ноя 29, 2012 08:27:22
Сообщений: 294
Рейтинг сообщения: 0
relocatable symbols
иницированы 0х0, asdf 0x4;
не использованы нигде , поэтому unused.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Вт мар 08, 2016 07:26:47 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Так как всё-таки поместить именованную переменную в ОЗУ с помощью конструкции:

AREA mydata, DATA, READWRITE
blabla DCD 1000

Что-то надо добавить?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Вт мар 08, 2016 18:26:54 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Никто не знает или не хочет рассказать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср мар 09, 2016 10:33:14 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Kolbaskin_Kirov писал(а):
Никто не знает или не хочет рассказать?

В скрипте компоновщика для этой секции нужно назначить адрес загрузки (load address, должен быть в энергонезависимой памяти) и адрес исполнения (execution address, должен быть в оперативной памяти). Затем, перед переходом к основной программе, необходимо скопировать данные инициализации из энергонезависимой памяти в оперативную. Еще наверное можно поместить переменные в стандартную секцию (.data называется, если не ошибаюсь). Тога можно будет воспользоваться имеющимся алгоритмом инициализации, который выполняется в __main. В общем начни читать про load и execution адреса, там потихоньку до остального дойдешь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср мар 09, 2016 14:07:12 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Вот скаттер файл
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср мар 09, 2016 14:13:33 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Ну хорошо, стандартный скрипт вроде бы подходит, осталось скопировать данные.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср мар 09, 2016 14:48:16 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
При объявлении переменных в RW области они лежат в конце прошивки и в RAM не переписываются. Как сделать, чтобы они там были? Можно и вручную переписать, а как сделать автоматом?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср мар 09, 2016 15:05:45 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
В энергонезависимой памяти лежат их начальные значения, сами они должны находиться в оперативной памяти, то есть blabla должен указывать на область 0x20000000 - 0x20001000.

Kolbaskin_Kirov писал(а):
Можно и вручную переписать, а как сделать автоматом?

Ну я же все написал! Может всё же стоить НАЧАТЬ копать в указанном направлении, а не ждать, пока всё разжуют? В общем еще раз говорю. Можно попробовать вызвать __main из стандартной библиотеки, тем более, что её все равно так или иначе нужно вызывать. Если она определяет секции для копирования по атрибуту RW, то должно получиться. Если же она находит секцию для копирования по имени, например .data, то тогда необходимо назвать свою секцию этим же именем (вместо mydata), чтобы она её скопировала.

Если я ошибаюсь, и __main работает как-нибудь по-другому, то придется САМОМУ писать код, который будет САМ копировать данные. В любом случае, копирование будет происходить в коде, иначе НИКАК нельзя. Разве что только указать для секции mydata load address равным execution address, но это будет работать только при заливке ПО отладчиком, до первого выключения питания.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср мар 09, 2016 15:09:26 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
Подключить к проекту startup файл и библиотеку CMSIS ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Ср мар 09, 2016 15:44:00 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 1
Нет, "C Run-Time Library". Она сама подключится, если в коде импортировать и вызвать __main. В стандартных startup уже есть вызов __main, так что можно или использовать стандартный startup, или подсмотреть, как в нем вызывается __main и сделать так же в своем.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 на keil с нуля. Помогите пожалйста
СообщениеДобавлено: Сб мар 12, 2016 12:59:29 
Родился

Зарегистрирован: Вс мар 06, 2016 19:12:38
Сообщений: 11
Рейтинг сообщения: 0
С предыдущим вопросом разобрался. Теперь с прерываниями, вернее с выходом из него. В programming reference manual (ядро М0) написано, что при возникновении прерывания в стек автоматически сохраняются регистры r0-r3,r12,LR,PC и xPSR. Причем в регистр LR сохраняется некая константа EXC_RETURN, которая говорит, что это не обычная подпрограмма, а именно прерывание. С этим все ясно, не ясно другое: выход из прерывания возможен двумя командами - POP и BX.
1. Как использовать инструкцию POP для окончания прерывания? Что писать в reglist: регистры, которые сохраняются автоматически писать надо или нет? Добавлять ли в реглист РС?
2. По инструкции BX. Причем после ВХ надо указать регистр, в котором лежит адрес возврата. Непонятно что происходит дальше? Дальше выгружается стек и РС? Если так, то непонятно что происходит: адрес возврата есть в РС и адрес возврата в инструкции ВХ.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y