|
LPC23xx - записать во флеш "из программы" |
|
|
|
Nov 25 2009, 01:03
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688

|
Граждане, подскажите - возможно ли писать во флеш "изнутри" и если возможно - как это делать аккуратно ? UPD: вот есть такое безрыбье http://caxapa.ru/lib/lpc2138_paramdata_howto_v11.htmlно оно неизвестно какой древности, для другого процессора и без слова "Keil"
Сообщение отредактировал evgen2 - Nov 25 2009, 01:08
|
|
|
|
|
 |
Ответов
|
Nov 25 2009, 06:58
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 30-09-08
Из: Санкт-Петербург
Пользователь №: 40 583

|
Посмотрите user manual, сайт www.nxp.com и этот форум на предмет "In application programming". Программирование встроенной Flash в LPC армах осуществляется через функции встроенного загрузчика. Вот, например аппликашка с сайта nxp: http://www.nxp.com/acrobat_download/applic...s/AN10256_1.pdf
|
|
|
|
|
Nov 25 2009, 08:03
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(etoja @ Nov 25 2009, 10:28)  Проблема состоит в том, что функции IAP требуют передачи параметров через регистры процессора и соответственно ассемблерной вставки в С-программу, что является специфическим для каждого С-компилятора, поскольку не входит в стандарт языка С. Что за фигня? Да стандартно там все! В АРМ по стандарту параметры через регистры передаются и стек (если не влезают)! И у всех компиляторов одинаково! Моожно использовать так для всех компиляторов! Если у вас режим thumb! Если ARM то надо делать interwork здесь ключевые слова/прагмы разные typedef void (*iap) (uint32_t* cmd, uint32_t* res); #define iap_entry ((iap)(0x7ffffff1))
Сообщение отредактировал KRS - Nov 25 2009, 08:08
|
|
|
|
|
Nov 25 2009, 09:08
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 30-09-08
Из: Санкт-Петербург
Пользователь №: 40 583

|
Цитата(etoja @ Nov 25 2009, 12:39)  Очевидно, что у вас нет опыта использования IAP для разных компиляторов. Поэтому шумите и пишете обрывки операторов. А вы напишите полный работающий текст программы IAP для Кейла.
PS: приведенный на сахаре текст IAP для gcc не будет работать в Кейле. Приведённый в aplication note AN10256 текст не будет работать ни в Кейле, ни в gcc, а разработан он для компилятора ARM Developer Suite (ADS1.2) Не путайте функции для работы со встроенной flash и целый программны модуль. Вот код функции для записи во встроенную flash: #define IAP_LOCATION 0x7ffffff1 typedef void (*IAP)(unsigned long[], unsigned long[]); #define IAP_CMD_CopyRAMToFlash 51 static unsigned long command[5] = {0,0,0,0,0}; static unsigned long result[3]= {0,0,0}; static IAP iap_entry = (IAP) IAP_LOCATION; unsigned long IAP_CopyRAMToFlash (unsigned long dst, unsigned long src, unsigned long count) { command[0] = IAP_CMD_CopyRAMToFlash; command[1] = dst; command[2] = src; command[3] = count; command[4] = OSCclk / 1000; iap_entry(command, result); return result[0]; } Что именно скомпилирует RealView (который Вы называете Keil) и не скомпилирует GCC? Другое дело специфичные для компилятора вещи, например запрещение прерываний: __ARMLIB_disableIRQ(); // Взято из примера на Сахаре (полагаю для GCC) __disable_irq(); // Для RealView P.S. давайте воздержимся от предположений по поводу опыта друг друга. Форум не для этого
Сообщение отредактировал Dr.Alexey - Nov 25 2009, 09:10
|
|
|
|
Сообщений в этой теме
evgen2 LPC23xx - записать во флеш "из программы" Nov 25 2009, 01:03 etoja 1. В юзер мануале всё подробно написано.
2. Привед... Nov 25 2009, 06:52 evgen2 Цитата(etoja @ Nov 25 2009, 09:52) 1. В ю... Nov 25 2009, 09:09  etoja Цитата(evgen2 @ Nov 25 2009, 12:09) ...А ... Nov 25 2009, 09:29  evgen2 Модератору...
Какого... Неужели запись флеша из ... Nov 25 2009, 09:35   zltigo Цитата(evgen2 @ Nov 25 2009, 12:30) Каког... Nov 25 2009, 09:38    evgen2 Цитата(zltigo @ Nov 25 2009, 12:38) Поско... Nov 25 2009, 09:54   Dr.Alexey Цитата(evgen2 @ Nov 25 2009, 13:35) Каког... Nov 25 2009, 09:41    zltigo Цитата(Dr.Alexey @ Nov 25 2009, 12:41) В ... Nov 25 2009, 09:59     evgen2 Цитата(zltigo @ Nov 25 2009, 12:59) Вы хо... Nov 25 2009, 10:11      KRS Цитата(evgen2 @ Nov 25 2009, 13:11) Если ... Nov 25 2009, 10:22       evgen2 Цитата(KRS @ Nov 25 2009, 13:22) А вы код... Nov 25 2009, 10:31        Сергей Борщ Цитата(evgen2 @ Nov 25 2009, 12:31) Тепер... Nov 25 2009, 10:43      zltigo Цитата(evgen2 @ Nov 25 2009, 13:11) Если ... Nov 25 2009, 10:47       evgen2 Цитата(zltigo @ Nov 25 2009, 13:47) Про ... Nov 25 2009, 11:21        zltigo Цитата(evgen2 @ Nov 25 2009, 14:17) И на ... Nov 25 2009, 11:25         evgen2 Цитата(zltigo @ Nov 25 2009, 14:25) А это... Nov 25 2009, 15:23          zltigo Цитата(evgen2 @ Nov 25 2009, 18:23) Вы не... Nov 25 2009, 15:32           evgen2 Цитата(zltigo @ Nov 25 2009, 18:32) Повер... Nov 25 2009, 15:59            zltigo Цитата(evgen2 @ Nov 25 2009, 18:59) Раз э... Nov 25 2009, 16:04             evgen2 Цитата(zltigo @ Nov 25 2009, 19:04) Это д... Nov 25 2009, 19:01          goodwin Цитата(evgen2 @ Nov 25 2009, 18:23) Ну та... Nov 25 2009, 15:42  KRS Цитата(evgen2 @ Nov 25 2009, 12:09) 1. В ... Nov 25 2009, 09:35    KRS Цитата(etoja @ Nov 25 2009, 11:39) Очевид... Nov 25 2009, 09:08  Dr.Alexey Цитата(etoja @ Nov 25 2009, 11:28) Dr.Ale... Nov 25 2009, 08:34 mdmitry Почти. Может пора создать тему, в которой описать ... Nov 25 2009, 15:41 zltigo Цитата(mdmitry @ Nov 25 2009, 18:41) По... Nov 25 2009, 15:59  mdmitry Цитата(zltigo @ Nov 25 2009, 18:59) Может... Nov 25 2009, 16:02 evgen2 Кстати, нашлось тут еще на туже тему...фиг знает ч... Nov 25 2009, 21:30 zltigo Цитата(evgen2 @ Nov 26 2009, 00:30) смотр... Nov 25 2009, 21:41 evgen2 Всем спасибо, заработало.
Остался только вопрос, ... Nov 26 2009, 14:40 aaarrr Цитата(evgen2 @ Nov 26 2009, 17:40) Вроде... Nov 26 2009, 14:48 evgen2 Граждане, кто-нибудь таки умеет использовать IAP п... Dec 5 2009, 15:13 meister Цитата(evgen2 @ Dec 5 2009, 18:13) Гражда... Dec 5 2009, 16:02  evgen2 Цитата(meister @ Dec 5 2009, 19:02) Очеви... Dec 5 2009, 16:19   meister Цитата(evgen2 @ Dec 5 2009, 19:19) Вопрос... Dec 5 2009, 17:34    zltigo Цитата(meister @ Dec 5 2009, 20:34) Как з... Dec 5 2009, 17:42     evgen2 Цитата(zltigo @ Dec 5 2009, 20:42) Не не ... Dec 5 2009, 18:55     meister Цитата(zltigo @ Dec 5 2009, 20:42) Не не ... Dec 5 2009, 18:57    evgen2 Цитата(meister @ Dec 5 2009, 20:34) убрат... Dec 5 2009, 19:44 evgen2 Бредятина.
Чего я только не делал, в том числе и... Dec 5 2009, 21:46 scifi Цитата(evgen2 @ Dec 6 2009, 00:46) Бредят... Dec 6 2009, 00:25  evgen2 Цитата(scifi @ Dec 6 2009, 03:25) Бывает.... Dec 6 2009, 07:05
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|