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

 
 
> Как в "незанятой" области FLASH-памяти контроллера сделать определенные значение
RiseOfDeath
сообщение Oct 19 2015, 13:00
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 2-10-13
Пользователь №: 78 579



Добрый день.

Имеется:
Некий контроллер STM32F4XX (применительно к задаче не важно какой именно)
IDE Keil uVision
Программатор J-Link (мне кажется он тут ни к чему, но всеже)
Некоторая программа.
Некоторый набор двоичных данных.

Сосбтвенно что я хочу:
Я использую встроенную нанду для хранения настроек и хочу чтобы при программировании контроллера в него сразу, вместе с программой, зашивались настройки по-умолчанию. (читать и писать программа умеет, но надо чтобы вместо стандартных 0xff в нужной области памяти "изначально" были какие-то определенные значения)
Я предполагаю что мне надо как-то получить на выходе из программы такой hex, чтобы после программирования им контроллера, помимо собственно программы, в жестко заданной области памяти, был тот самый "набор двоичных данных".

Есть мысли как это сделать?

Сообщение отредактировал RiseOfDeath - Oct 19 2015, 13:02
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RiseOfDeath
сообщение Oct 19 2015, 13:25
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 2-10-13
Пользователь №: 78 579



Цитата(ЯadiatoR @ Oct 19 2015, 16:08) *
Если взглянуть на стартап.s то можно увидеть записи типа:
Stack_Size EQU 0x00000400

AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size

Здесь в качестве STACK идет указатель на область стэка и далее выделяется его размер, равный 0x400
После этого командой DCD можно записать значения в ячейки памяти, так же как это делается с векторной таблицей:

__Vectors
.
.
.
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved

Поправьте если есть более простые варики



Т.е. типа такого вот:
Код
Stack_Size      EQU     0x00000400

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp

EQU 0x0x080E0000
DCD 0xDE
DCD 0xAD
DCD 0xBE
DCD 0xEF



Цитата(zltigo @ Oct 19 2015, 16:13) *
квалификатор __at



А как им пользоваться?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- RiseOfDeath   Как в "незанятой" области FLASH-памяти контроллера сделать определенные значение   Oct 19 2015, 13:00
- - ЯadiatoR   Если взглянуть на стартап.s то можно увидеть запис...   Oct 19 2015, 13:08
|- - zltigo   QUOTE (ЯadiatoR @ Oct 19 2015, 16:08) Поп...   Oct 19 2015, 13:13
- - scifi   Цитата(RiseOfDeath @ Oct 19 2015, 16:00) ...   Oct 19 2015, 13:24
|- - RiseOfDeath   Цитата(scifi @ Oct 19 2015, 16:24) Очень ...   Oct 19 2015, 13:37
- - ЯadiatoR   загуглил, проверил: int var __at(0x80001000) = 20;...   Oct 19 2015, 13:24
|- - zltigo   QUOTE (ЯadiatoR @ Oct 19 2015, 16:24) заг...   Oct 19 2015, 13:32
|- - ЯadiatoR   Цитата(zltigo @ Oct 19 2015, 16:32) квали...   Oct 19 2015, 13:47
|- - zltigo   QUOTE (ЯadiatoR @ Oct 19 2015, 16:47) а г...   Oct 19 2015, 13:55
|- - ЯadiatoR   Цитата(zltigo @ Oct 19 2015, 16:55) Дивны...   Oct 19 2015, 13:56
- - smalcom   в скрипт линковщика добавляете свою секцию Цитата...   Oct 19 2015, 13:38
- - RiseOfDeath   Благодарю всех за помощь. Я решил, что лучше буду...   Oct 21 2015, 08:42
- - Golikov A.   Хорошим тоном является проверять 1. пустоту секто...   Oct 21 2015, 09:12
- - stas00n   Цитата(RiseOfDeath @ Oct 19 2015, 15:00) ...   Oct 21 2015, 10:23
- - RiseOfDeath   Цитата(Golikov A. @ Oct 21 2015, 12:12) Х...   Oct 23 2015, 11:35
- - Sanya_kv   В Keil пользуюсь данным способом: const char имя_п...   Oct 27 2015, 05:34
- - KnightIgor   Цитата(RiseOfDeath @ Oct 19 2015, 14:00) ...   Oct 27 2015, 14:20
|- - scifi   Цитата(KnightIgor @ Oct 27 2015, 17:20) 1...   Oct 27 2015, 14:33
|- - KnightIgor   Цитата(scifi @ Oct 27 2015, 15:33) Тогда ...   Oct 27 2015, 15:15
|- - zltigo   QUOTE (KnightIgor @ Oct 27 2015, 18:15) М...   Oct 27 2015, 17:48
- - Сергей Борщ   Да и перезагрузка не спасет. gcc очень хорошо умее...   Oct 27 2015, 18:21
- - KnightIgor   Цитата(Сергей Борщ @ Oct 27 2015, 19:21) ...   Oct 28 2015, 10:12


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 10:36
Рейтинг@Mail.ru


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