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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Hard Fault при выполнении malloc, но если выполняю пошагово - все ок
kt368
сообщение Dec 18 2013, 14:07
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



Почему ж странное, вот скрин юзер мануала, у меня проц с 64 кб ОЗУ. Оно разбито на 2 секции, вот я их обе и использую.
Прикрепленное изображение

Первая область - начинается с адресса 0x10000000, имет длину 0х8000.
Вторая область начинается с адреса 0x20000000, и тоже имет длину 0х8000.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 18 2013, 14:24
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



По-любому в 0 записывать нельзя, если не было ремапа
0 - это начало Non-Volatile memory
Go to the top of the page
 
+Quote Post
kt368
сообщение Dec 18 2013, 14:25
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



Цитата(toweroff @ Dec 18 2013, 16:24) *
По-любому в 0 записывать нельзя, еслине было ремапа
0 - это начало Non-Volatile memory

Это понятно, почему ж мне компилятор такой асм код выдал?
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Dec 18 2013, 15:06
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(kt368 @ Dec 18 2013, 09:25) *
Это понятно, почему ж мне компилятор такой асм код выдал?

А какой был "С code", который скомпилировался в асм?
Может там собака порылась?


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 18 2013, 15:08
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(kt368 @ Dec 18 2013, 18:25) *
Это понятно, почему ж мне компилятор такой асм код выдал?

скаттр странный. Load Region - это та область, которая пишется (располагается, в случае заливки в ОЗУ) во флеш-память
потом, после старта, С-библиотеки разворачивают оттуда код, если это было указано, задают значения Zero-Init областям и т.д.
Я вот вижу два Load-Region - зачем? Есть в этом сокральный смысл?

Вообще, без кода, сложно что-то говорить. В программе нужно смотреть, почему вы (не компилятор!) обращается с записью по нулевому адресу
Go to the top of the page
 
+Quote Post
kt368
сообщение Dec 18 2013, 19:24
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



Я уже немного переделал СИ-шные файлы, и глюки перестали наблюдаться.
А скаттр файл по-идее же сейчас не используется, т.к. на вкладке "Linker" окна "Options for target" я поставил галочку "Use Memory layout from Target Dialog".
А вот тут, на вкладке Target я же нормально задал параметры памяти?
Тут я хотел сделать, чтоб для программы использовалась ROM по с адресами 0x0...0x240 и 0xB000...0x80000.

И заодно ещё парочку вопросов.
Подскажите, пожалуйста, что значат галочки "default" в этом окне?
И галочка "Startup" - она говорит где размещать начальный код, который генерируется из файлы startup.s?

P.S. Просьба за мои ошибки сильно не пинать, с армами и кейлом только начинаю разбираться.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 18 2013, 20:37
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(kt368 @ Dec 18 2013, 23:24) *
Я уже немного переделал СИ-шные файлы, и глюки перестали наблюдаться.
А скаттр файл по-идее же сейчас не используется, т.к. на вкладке "Linker" окна "Options for target" я поставил галочку "Use Memory layout from Target Dialog".
А вот тут, на вкладке Target я же нормально задал параметры памяти?
Тут я хотел сделать, чтоб для программы использовалась ROM по с адресами 0x0...0x240 и 0xB000...0x80000.

И заодно ещё парочку вопросов.
Подскажите, пожалуйста, что значат галочки "default" в этом окне?
И галочка "Startup" - она говорит где размещать начальный код, который генерируется из файлы startup.s?

P.S. Просьба за мои ошибки сильно не пинать, с армами и кейлом только начинаю разбираться.

давно уже не пользуюсь этим окном (в плане где и что размещать), свои скаттеры пишу сам
в документации на линкер все подробно разжевано, как там и из чего строится
на всякий случай приложу пару документов
Прикрепленный файл  DUI0056.pdf ( 1.1 мегабайт ) Кол-во скачиваний: 424

Прикрепленный файл  DUI0151.pdf ( 726.54 килобайт ) Кол-во скачиваний: 750

вообще-то вся документация на сайте ARM так и ждет прочтения, более свежая sm.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 19 2013, 08:41
Сообщение #23


Гуру
******

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



Цитата(kt368 @ Dec 18 2013, 21:24) *
Подскажите, пожалуйста, что значат галочки "default" в этом окне?
С Кейлом не работаю, но внизу виднеется кнопочка "Help". Что будет, если ее нажать?


--------------------
На любой вопрос даю любой ответ
"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
kt368
сообщение Dec 19 2013, 11:11
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



С размещением в памяти уже вроде-бы разобрался (используя доки Кейла), пока через ГУИ, в следующем проекте постараюсь использовать скаттер файл.
Go to the top of the page
 
+Quote Post

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

 


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


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