Перейти к содержанию
    

Kenshin

Участник
  • Постов

    26
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Kenshin

  • Звание
    Участник
    Участник
  • День рождения 23.01.1982

Информация

  • Город
    Array
  1. stm32 Keil

    микроконтроллер STM32 компилятор Keil 4.70 Есть два класса t_data и t_data1, отличаются только наличием конструктора. При инициализации класса при отсутствии конструктора данные пишутся во flash, при добавлении конструктора все пишется в оперативную память. Атрибут __attribute__((const)) перед конструктором не помогает, как константу его объявить нельзя. class t_data { public : const uint32_t value; uint32_t Get () const {return value;}; void Init (void) const {}; t_data (const uint32_t v) : value(v) {Init();}; }; class t_data1 { public : uint32_t value; uint32_t Get () const {return value;}; void Init (void) const {}; }; const t_data data (0x1234); const t_data1 data1 = {0x1234}; const t_data * pointer = &data; // 0x2000xxxx - value записалось в RAM const t_data1 * pointer1 = &data1; // 0x0800xxxx - value записалось во flash Как записать объект проинициализированный с помощью конструктора в flash память мк?
  2. AVR и Siemens M55

    из глюков там только один видел. не работает в отладчике SPI. и то только именно на этом контроллере. с платностью легко бороться. а чтоб стабильно и бесплатно такого не бывает. за деньги то не со всем разбираются, а кто будет просто так этим заниматься.
  3. AVR и Siemens M55

    s128 конечно вещ хорошая но лучше бы вы s256 взяли. я с ним работал только потому что в моей деревне единственное что из армов удалось достать. хотел выяснить на что этот зверь способен. IDE - Keil uVision4 исходники забирайте. только там черт ногу сломит :) добро пожаловать в мой творческий ад. "самое то" для тех кто недавно начал заниматься контроллерами.ls020_keil_13.03.2011_backup.zip
  4. AVR и Siemens M55

    пожалуйста http://www.youtube.com/watch?v=Bp9qeydqPrU
  5. AVR и Siemens M55

    пожалуй похвастаюсь промежуточными результатами: LS020 + AT91SAM7S128 + MMC на выходе видео в тестовом режиме. звук еще не прикрутил. спаяно на коленке. питание 5 вольт с USB. либо 2 телефонных аккумулятора последовательно. формат видео своя разработка основанная на mpeg. сжатие хуже зато процессор справляется. интересная деталь: памяти озу в контроллере меньше чем размер буфера одного кадра, поэтому видео формируется на лету.
  6. ошибка KEIL с AT91SAM7S128

    при создании проекта в KEIL и выборе микроконтроллера AT91SAM7S128 объем памяти выставленный по умолчанию составляет 0x4000 что составляет 16 килобайт, хотя реально в микроконтроллере 32 килобайт. исправляется выставлением вручную значения 0x8000. может кому поможет/пригодится.
  7. SPI on SAM7S и SAM7X

    откомпилировал запустил. не работает. перестановка кейла и установка более свежей версии тоже не повлияли. (кстати на торренте новая версия появилась) попробовал залить все это дело на кристалл и о чудо на нем все работает почему-то. а я все это время полагал что не работает в отладчике то не работает и на кристалле. встроенный отладчик по каким-то причинам не работает с SPI в серии SAM7S. обидно. остается последний вопрос можно ли устранить данный глюк дебаггера кейла, а то вся прелесть кейла теряется. огромное спасибо aaarrr за помощ.
  8. SPI on SAM7S и SAM7X

    // Enable the SPI clock pPMC->PMC_PCER = (1<<AT91C_ID_SPI);//(1<<AT91C_ID_PIOA)| включено.
  9. SPI on SAM7S и SAM7X

    не пытаюсь я его запутывать. разобраться никак не могу. pSPI->SPI_MR = (0x18000001); это DLYBCS = 0x18 , MSTR = 1. дело в том что после любых манипуляций с SPI регистр флажков SPI_SR остается в состоянии по умолчанию 0x000000F0 которое у него после сброса. флаг MODF = 0 ошибки не происходит. замучался уже не знаю что делать. у кого нибудь вообще на sam7s в KEIL удалось spi запустить?
  10. SPI on SAM7S и SAM7X

    такая же проблема. В sam7x spi работает, а в sam7s не работает. компилятор кейл 4.01. этот работает как положено. #include <AT91SAM7X128.H> AT91S_PIO * pPIO = AT91C_BASE_PIOA; AT91S_PMC * pPMC = AT91C_BASE_PMC; AT91S_SPI * pSPI = AT91C_BASE_SPI0; int main (void){ // Enable the PIO clock pPMC->PMC_PCER = (1<<AT91C_ID_PIOA);//(1<<AT91C_ID_PIOA)| pPIO->PIO_PDR = (AT91C_PA18_SPI0_SPCK|AT91C_PA17_SPI0_MOSI|AT91C_PA16_SPI0_MISO|AT91C_PA12_SPI0_ NPCS0); pPIO->PIO_ASR = (AT91C_PA18_SPI0_SPCK|AT91C_PA17_SPI0_MOSI|AT91C_PA16_SPI0_MISO|AT91C_PA12_SPI0_ NPCS0); pPIO->PIO_PPUER = AT91C_PA16_SPI0_MISO; // Enable the SPI clock pPMC->PMC_PCER = (1<<AT91C_ID_SPI0);//(1<<AT91C_ID_PIOA)| // Execute a software reset of the SPI twice pSPI->SPI_CR = AT91C_SPI_SWRST; pSPI->SPI_CR = AT91C_SPI_SWRST; // Configure SPI in Master Mode with No CS selected !!! pSPI->SPI_MR = (AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | AT91C_SPI_PCS); // Disable the PDC transfer pSPI->SPI_PTCR = (AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS); pSPI->SPI_CSR[0] = 0x00000482; pSPI->SPI_MR = (0x18000001);//(0x000E0011); // Enable the SPI pSPI->SPI_CR = AT91C_SPI_SPIEN; } а этот не работает. не запускается SPI. не устанавливается флаг SPIENS. и т.д. #include <AT91SAM7S128.H> AT91S_PIO * pPIO = AT91C_BASE_PIOA; AT91S_PMC * pPMC = AT91C_BASE_PMC; AT91S_SPI * pSPI = AT91C_BASE_SPI; int main (void){ // Enable the PIO clock pPMC->PMC_PCER = (1<<AT91C_ID_PIOA);//(1<<AT91C_ID_PIOA)| pPIO->PIO_PDR = (AT91C_PA14_SPCK|AT91C_PA13_MOSI|AT91C_PA12_MISO|AT91C_PA11_NPCS0); pPIO->PIO_ASR = (AT91C_PA14_SPCK|AT91C_PA13_MOSI|AT91C_PA12_MISO|AT91C_PA11_NPCS0); pPIO->PIO_PPUER = AT91C_PA12_MISO; // Enable the SPI clock pPMC->PMC_PCER = (1<<AT91C_ID_SPI);//(1<<AT91C_ID_PIOA)| // Execute a software reset of the SPI twice pSPI->SPI_CR = AT91C_SPI_SWRST; pSPI->SPI_CR = AT91C_SPI_SWRST; // Configure SPI in Master Mode with No CS selected !!! pSPI->SPI_MR = (AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | AT91C_SPI_PCS); // Disable the PDC transfer pSPI->SPI_PTCR = (AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS); pSPI->SPI_CSR[0] = 0x00000482; pSPI->SPI_MR = (0x18000001);//(0x000E0011); // Enable the SPI pSPI->SPI_CR = AT91C_SPI_SPIEN; }
  11. Собрал полимузон кварц на 16МГц использую двухканальный шим. звук лучше чем через R-2R, и стерео но максимальная скорость чтения с SD/MMC получается около 51 кбайт в секунду. не хватает для качества 44100Гц стерео... обидно. реализация FAT уж очень сложно сделана в этой библиотеке. зато все есть. собственно вопрос нет ли функций работы с FAT пошустрее? может пользовал кто, поделитесь.
  12. AVR и Siemens M55

    16 корпусов многовато будет... надобы попроще чтонибудь. мне казалось получится на пару микросхемах сдвиговый регистр и какой нибудь счетчик типа ИЕ8. хотя детально не разбирался, банально не хватает на всё времени. нужо параллельный вход, и выход SCK и DAT... RS, CS и прочее оставить на совести контрольника. ещё нужно сделать обратную связь (подтверждение принятие параллельных данных) вобщем чтото вроде этого. интересно было бы взглянуть на любые решения этого вопроса. нашел решение проблемы переключения дисплея в 8ми битный режим. необходимо было поставить задержку в процедуре инициализации после слова 0x4306 около 50 мс (примерно). в моем случае это помогло.
  13. AVR и Siemens M55

    а у меня на сях не работает 256 бит режим почемуто на дисплее ls020. меняю $7f3f на $7f1f дисплей перестает работать просто белый экран. :-( ... в 16 бит режиме 25fps вывод 3х мерной графики 100х100. причем практически все время 32мс занимает передача данных на дисплей по SPI протоколу а само рисование 2-10мс. Нужны идеи внешнего аппаратного SPI желательно с буфером FIFO.
  14. AVR и Siemens M55

    изображение нескольких черных линий толщиной в один пиксель на белом фоне. фликер естественно не увидишь. другое дело попробовать выводить на экран поочередно белые и черные поля во весь экран. вопрос избавления от фликера до сих пор остается открытым.
  15. AVR и Siemens M55

    огромное респектище
×
×
  • Создать...