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

 
 
> Keil flash download
Ken@t
сообщение Mar 9 2011, 17:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 144
Регистрация: 5-08-05
Пользователь №: 7 382



Комрады, зарасскажите, что за грабелька такая.

Собрал под Keil 3.8 для sam7s64

Код
LR_IROM1 0x00100000 0x00010000  {   ; load region size_region
  ER_IROM1 0x00100000 0x0000C000  { ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  
  RW_ 0x0010C000 0x00004000 {
   *.o ( flh_data )
  }

  RW_IRAM1 0x00200000 0x00004000  { ; RW data
   .ANY (+RW +ZI)
  }

}


вижу в мапе
Код
Inflash_images                           0x0010c000   Data          16  test.o(.ARM.__AT_0x0010C000)
    image_gear                               0x0010c010   Data         546  test.o(flh_data)
    image_background_white_bluetitle         0x0010c232   Data       13538  test.o(flh_data)
    image_exclamation_diamond                0x0010f714   Data         546  test.o(flh_data)
    image_exclamation_red                    0x0010f936   Data         546  test.o(flh_data)

Всё вроде бы замечательно, однако после загрузки в целевую платформу MT-Link'ом по адресам 0x0010c000 девственная чистота флэши , тобишь 0xFF.

Что за грабелька ?


--------------------
Свет мой зеркальце, скажи, да всю правду расскажи я ль на свете всех тупее, бесполезней и пьянее?
Ты - придурок. Спору нет! Но живет на белом свете вот ТАКИХ еще две трети!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
InsolentS
сообщение Mar 9 2011, 20:01
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Попробуйте опции проекта->Debug->Initialization File
Код
FUNC void Setup (void) {
// <o> Program Entry Point
  PC = 0x00100000;
}

// Configure GPNVM bits
_WDWORD(0xFFFFFF64, (0x5A<<24)|(2<<8)|(0xB));  //MC_FCR: Set GPNVM2 Bit for flash startup
_sleep_(10);

_WDWORD(0xFFFFFD44, 0x00008000);     // WDT_WDMR: Disable Watchdog

// Switching from Slow Clock to Main Oscillator for faster Download
_WDWORD(0xFFFFFC20, 0x00000601);     // PMC_MOR: Enable Main Oscillator
_sleep_(10);                         // Wait for stable Main Oscillator
_WDWORD(0xFFFFFC30, 0x00000001);     // PMC_MCKR: Switch to Main Oscillator

LOAD FLASH\firmware.axf INCREMENTAL      // FLASH\firmware.axf надо заменить на путь и название Вашего выходного файла

Setup();                             // Setup for Running

g, main


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post
Ken@t
сообщение Mar 10 2011, 15:23
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 144
Регистрация: 5-08-05
Пользователь №: 7 382



Цитата(InsolentS @ Mar 9 2011, 23:01) *
поскипано

Конечно, если раскинуть мозгом, то какое отношение инициализация дебага имеет отношение к программированию флэша , к тому же видно , что и линк расположил исполняемый код и констатны во флэше?

Внимательный анализ доки привел к тому, что один из правильных scatter файл может быть таким
Код
LR_IROM1 0x00100000 0x000C000  {   ; load region size_region
  ER_IROM1 0x00100000 0x0000C000  { ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
    
  RW_IRAM1 0x00200000 0x00004000  { ; RW data
   .ANY (+RW +ZI)
  }

}

LOAD_ROM2 0x0010C000 0x00004000 {
  FLASH 0x0010C000 {
   .ANY ( flh_data )
  }


}

Кстати, явного запрета на первый варант размещения я не нашёл.


--------------------
Свет мой зеркальце, скажи, да всю правду расскажи я ль на свете всех тупее, бесполезней и пьянее?
Ты - придурок. Спору нет! Но живет на белом свете вот ТАКИХ еще две трети!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:14
Рейтинг@Mail.ru


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