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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> STM32F4 не стартует вне отладки
LWW
сообщение Dec 22 2012, 18:47
Сообщение #16


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



А код очень маленький. Всего 120 байт. 26 инструкций.

Вот если решим проблему, покажу! a14.gif

Ну а какая телепатия? Два абсолютно одинаковых новых камня. На голой плате код работает. На дискавери нет.

Тут надо не код смотреть, а схему.. Чего там наворочали, что требуется какой-то хитрый сброс, что даже кнопка не помогает?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 22 2012, 19:12
Сообщение #17


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(LWW @ Dec 22 2012, 21:47) *
Тут надо не код смотреть, а схему.. Чего там наворочали, что требуется какой-то хитрый сброс, что даже кнопка не помогает?

Схема на плату есть в User Manual. Скачивается с сайта ST.
Go to the top of the page
 
+Quote Post
LWW
сообщение Dec 22 2012, 19:21
Сообщение #18


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Да я уж её всю пересмотрел..
Go to the top of the page
 
+Quote Post
LWW
сообщение Dec 23 2012, 21:32
Сообщение #19


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Блииин.. Какой кошмар, люди... Ладно! Забудьте! Всё работает.

Показываю обещанный код cool.gif
http://stm32asm.ru/minimal_code.html
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Dec 24 2012, 00:00
Сообщение #20


Гуру
******

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



Цитата(LWW @ Dec 23 2012, 23:32) *
Блииин.. Какой кошмар, люди... Ладно! Забудьте! Всё работает.

Показываю обещанный код cool.gif
http://stm32asm.ru/minimal_code.html

Цитата
Помните, как это было в тинках и мегах? Нужно вначале установить вершину стека, прописать калибровочный байт, отрубить пса!

Калибровочный байт - это для RC что ли?
Стек компилятор пропишет до старта main - проблемы нет.

Цитата
А сколько народу на этом отрубилось!

Тьма...

Цитата
Ведь кто-же его поймёт, что по умолчанию пёс всегда включен и будет сбрасывать процессор до тех пор, пока не вырубишь!

Это зависит от модели меги и фузов. Но тоже не проблема.

Цитата
А калибровочный байт - его нужно предварительно считать из камня программатором и где-то сохранить. В каждом камне - свой уникальный байт. Очень много возни..

Кварц чем не устраивает?

P.S. Честно говоря ни разу не использовал этот регистр. Чем-то это чревато?
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Dec 24 2012, 10:35
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Цитата(LWW @ Dec 24 2012, 01:32) *
Показываю обещанный код cool.gif

А какой глубокий смысл в использовании Ваших макросов MOV32, когда можно тупо писать ldr r0, =число ??? sm.gif
Go to the top of the page
 
+Quote Post
LWW
сообщение Jan 9 2013, 21:18
Сообщение #22


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Смотря какое число. Не всё можно загрузить через LDR. Изучите команду и поймёте sm.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 10 2013, 08:29
Сообщение #23


Гуру
******

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



QUOTE (LWW @ Jan 9 2013, 23:18) *
Не всё можно загрузить через LDR. Изучите команду и поймёте sm.gif
Так "=" как раз и используется для того, чтобы об этом голова болела у ассемблера. Изучите ассемблер и поймете wink.gif

QUOTE
Syntax

The syntax of LDR is:
LDR{condition} register,=[expression | label-expression]

where:

...

expression
evaluates to a numeric constant:

If the value of expression is within range of a MOV or MVN instruction, the assembler generates the appropriate instruction.
If the value of expression is not within range of a MOV or MVN instruction, the assembler places the constant in a literal pool and generates a program-relative LDR instruction that reads the constant from the literal pool.


--------------------
На любой вопрос даю любой ответ
"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
LWW
сообщение Jan 12 2013, 21:50
Сообщение #24


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

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Там всякая ерунда написана.

LDR r1,=0xfff и
LDR r1, 0xffffffff

- это немного разные команды. Вы должны это понять. Объясняю, а то офф уже какой-то начался.. ARMv7 не имеет команды прямой загрузки 32-битной константы в регистр. А мой макрос MOV32 это делает в два шага.

Вот и всё.

Сообщение отредактировал LWW - Jan 12 2013, 21:51
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 June 2025 - 14:08
Рейтинг@Mail.ru


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