|
Hard Fault при выполнении malloc, но если выполняю пошагово - все ок |
|
|
|
Dec 18 2013, 14:07
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135

|
Почему ж странное, вот скрин юзер мануала, у меня проц с 64 кб ОЗУ. Оно разбито на 2 секции, вот я их обе и использую.
Первая область - начинается с адресса 0x10000000, имет длину 0х8000. Вторая область начинается с адреса 0x20000000, и тоже имет длину 0х8000.
|
|
|
|
|
Dec 18 2013, 14:25
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135

|
Цитата(toweroff @ Dec 18 2013, 16:24)  По-любому в 0 записывать нельзя, еслине было ремапа 0 - это начало Non-Volatile memory Это понятно, почему ж мне компилятор такой асм код выдал?
|
|
|
|
|
Dec 18 2013, 15:06
|

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

|
Цитата(kt368 @ Dec 18 2013, 09:25)  Это понятно, почему ж мне компилятор такой асм код выдал? А какой был "С code", который скомпилировался в асм? Может там собака порылась?
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 18 2013, 15:08
|

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

|
Цитата(kt368 @ Dec 18 2013, 18:25)  Это понятно, почему ж мне компилятор такой асм код выдал? скаттр странный. Load Region - это та область, которая пишется (располагается, в случае заливки в ОЗУ) во флеш-память потом, после старта, С-библиотеки разворачивают оттуда код, если это было указано, задают значения Zero-Init областям и т.д. Я вот вижу два Load-Region - зачем? Есть в этом сокральный смысл? Вообще, без кода, сложно что-то говорить. В программе нужно смотреть, почему вы (не компилятор!) обращается с записью по нулевому адресу
|
|
|
|
|
Dec 18 2013, 19:24
|
Местный
  
Группа: Свой
Сообщений: 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. Просьба за мои ошибки сильно не пинать, с армами и кейлом только начинаю разбираться.
|
|
|
|
|
Dec 18 2013, 20:37
|

Гуру
     
Группа: Свой
Сообщений: 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 так и ждет прочтения, более свежая
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|