-
- Если в рамках примитивного пользования, то: Chum_A(257 знак., 10.01.2012 21:03)
- Да! Напрочь об этом забыл. А ведь когда то делал цветомущычку на САМ7 и размещал код в РАМе штоп быстрее! - T.Дocтoeвcкий(10.01.2012 21:58)
- Еще такой способ AD(419 знак., 10.01.2012 20:52)
- Зарезервировать секцию в RAM, дать указание компилятору или скопировать "вручную", вызывая функцию через указатель. "Волшебные слова" есть в Compiler Reference Guide по ссылкам. - rezident(10.01.2012 19:10, ссылка, ссылка)
- Всё равно не понял. Можно ли явно указать, что всё что ниже идёт в секцию загрузчика флаш, а конкретная функция начинается с 0х0...? Спсб. - T.Дocтoeвcкий(10.01.2012 19:37)
- Си это язык общения между человеком-программистом и программой-компилятором. Вот и объясните компилятору на понятном ему языке и в понятных для него терминах, что вы от него хотите? А хотите вы, чтобы компилятор положил функцию в rezident(350 знак., 10.01.2012 19:48)
- Это понятно. не понятно волшебное слово в Кейле для функции по конкретному адресу флеш, и констант по подобному же адресу. Тоесть как разместить файл бутлоадер.ц в секцию бутлоладера. T.Дocтoeвcкий(73 знак., 10.01.2012 19:54)
- "Запомни! Лучше день потерять, потом за пять минут долететь!" (с) м/ф "Крылья, ноги и хвосты" :) Я с Keil не работаю, поэтому по всем вопросам RTFMлю на сайте www.keil.com. Ссылку на волшебное слово дал выше. - rezident(10.01.2012 20:01, youtube)
- Там стильи зложения ЯВУ который Йа ниасилил ниразу. Посему не понял "new_section", это где задаётся? T.Дocтoeвcкий(43 знак., 10.01.2012 20:09)
- "Запомни! Лучше день потерять, потом за пять минут долететь!" (с) м/ф "Крылья, ноги и хвосты" :) Я с Keil не работаю, поэтому по всем вопросам RTFMлю на сайте www.keil.com. Ссылку на волшебное слово дал выше. - rezident(10.01.2012 20:01, youtube)
- Это понятно. не понятно волшебное слово в Кейле для функции по конкретному адресу флеш, и констант по подобному же адресу. Тоесть как разместить файл бутлоадер.ц в секцию бутлоладера. T.Дocтoeвcкий(73 знак., 10.01.2012 19:54)
- Си это язык общения между человеком-программистом и программой-компилятором. Вот и объясните компилятору на понятном ему языке и в понятных для него терминах, что вы от него хотите? А хотите вы, чтобы компилятор положил функцию в rezident(350 знак., 10.01.2012 19:48)
- Только нужно помнить, что функция может неявно вызывать служебные подфункции (копирование структур, преобразование типов и проч.) А те будут сидеть в ROM. - SciFi(10.01.2012 19:12)
- Угу. Об этом обязательно нужно помнить. - rezident(10.01.2012 19:14)
- Всё равно не понял. Можно ли явно указать, что всё что ниже идёт в секцию загрузчика флаш, а конкретная функция начинается с 0х0...? Спсб. - T.Дocтoeвcкий(10.01.2012 19:37)
- Можно так: SciFi(801 знак., 10.01.2012 19:02)
- Жэсть! Не понял только где указатель компилятору что flash_start_wait()именно в РАМ?! - T.Дocтoeвcкий(10.01.2012 19:05)
- Ну так "static uint32_t array[]" обычно само в раму попадает. Есличо, это код для STR710 (ARM7TDMI). - SciFi(10.01.2012 19:08)
- ааа, дошло! Не, там приём с УАРТа планируется. Дофига уитнов писать придётся. T.Дocтoeвcкий(158 знак., 10.01.2012 19:11 - 19:14)
- Да, и ещё: загрузчик и основная программа должны быть раздельными проектами. Кстати, сам скоро напишу такое для STM32F100 (уже есть для ColdFire). Будет готово - могу поделиться. - SciFi(10.01.2012 19:17)
- Нафик так сурово? Чтобы при программировании флеша принимаемые байты не терялись? Для этого лучше прикрутить DMA. - SciFi(10.01.2012 19:14)
- Неумею размещать функции в заданных местах ФЛЕШа, и РАМ. И готовый загрузчик прикрепить не смог. - T.Дocтoeвcкий(10.01.2012 19:18)
- тогда лучше обратиться к тому, кто умеет koyodza(94 знак., 10.01.2012 20:58)
- Могу только посочувствовать. - SciFi(10.01.2012 19:20)
- Неумею размещать функции в заданных местах ФЛЕШа, и РАМ. И готовый загрузчик прикрепить не смог. - T.Дocтoeвcкий(10.01.2012 19:18)
- ааа, дошло! Не, там приём с УАРТа планируется. Дофига уитнов писать придётся. T.Дocтoeвcкий(158 знак., 10.01.2012 19:11 - 19:14)
- Ну так "static uint32_t array[]" обычно само в раму попадает. Есличо, это код для STR710 (ARM7TDMI). - SciFi(10.01.2012 19:08)
- Жэсть! Не понял только где указатель компилятору что flash_start_wait()именно в РАМ?! - T.Дocтoeвcкий(10.01.2012 19:05)
- Если в рамках примитивного пользования, то: Chum_A(257 знак., 10.01.2012 21:03)