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

    

jenya7

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Профессионал

Посетители профиля

4 831 просмотр профиля
  1. Бутлодер для Кинетис

    Я понял. Когда я писал булодер под STM32 в Атолик, хотя не думаю что среда тут важна, я прописал в линкере бутлодера размер бутлодера, вектор не трогал, а вот в линкере главной програмы прописал все смещенные адреса (вектор и флеш) и у меня все работало. Я нигде не вставлял SCB->VTOR = address; ааа...блин вот я туплю. борд всегда грузиться с бутлодера и в конце он всегда прыгнет в главную програму - JumpToUserApplication. получается линкер файл нужен чтоб правильно сформировать бинарный файл.
  2. Бутлодер для Кинетис

    точно! мозг уже дымиться :) я не понял этот момент. как прописать в линкере автоматическую релокацию VTOR?
  3. Бутлодер для Кинетис

    Вобщем все прописи в линкер файле не возимели эффекта. пришлось прописывать имплиситли void main (void) { SCB->VTOR = 0x4000;
  4. Бутлодер для Кинетис

    относительно моего случая если это адрес таблицы define symbol IntVectTable_start__ = 0x00004000; define symbol IntVectTable_end__ = 0x0000403f; то адрес начала - конца кода ? define symbol __ICFEDIT_region_ROM_start__ = 0x0000443F; define symbol __ICFEDIT_region_ROM_end__ = 0x007FFFFF; так что ли?
  5. Бутлодер для Кинетис

    Главный проект пишется не в IAR а в MCUXpresso. а там все через ж...GUI.
  6. Бутлодер для Кинетис

    функция такая void JumpToUserApplication(LWord userSP, LWord userStartup) { // set up stack pointer __asm("msr msp, r0"); __asm("msr psp, r0"); // Jump to PC (r1) __asm("mov pc, r1"); } а какой должен быть IntVectTable_start__ - 0x400? если учесть что перед JumpToUserApplication есть SCB_VTOR = RELOCATED_VECTORS;
  7. Бутлодер для Кинетис

    Есть бутлоадер. Его линкер файл То есть начинается как положено с 0 адреса. Я его прожигаю с J-Link. В главном проекте я устанавливаю define symbol __ICFEDIT_region_ROM_start__ = 0x00000В00; //следующий за AFF define symbol __ICFEDIT_region_ROM_end__ = 0x07FFFFFF; и генерирую бинарный файл srec. Я запускаю утилиту буллодера нажимаю Connect и она мне пишет Несмотря на WARNING! S19 image will not fit into available memory (at address 0x00000000)! бинарный файл прожигается но ничего не работает. В коде бутлодера есть такое JumpToUserApplication(*((unsigned long*)RELOCATED_VECTORS), *((unsigned long*)(RELOCATED_VECTORS+4))); RELOCATED_VECTORS почему то 0x4000. Получается главный прект я должен начать с 0x4000? Я пробовал но получаю тот же WARNING! S19 image will not fit into available memory (at address 0x00000000)! и ничего не работает после рисета.
  8. не могу ничего сказать. диоды зеленые. покупали и паяли китайцы пришли вместе с платой, происхождение их неизвестно. может и Vf > 3v.
  9. мда... с такими выходными характеристиками я должен зажечь гирлянду. пойду копать дальше. спасибо.
  10. я резистор померял. допустим протекает дольшой ток, тогда все напряжение упадет на резисторе
  11. //LEDS GPIO_InitStructure.GPIO_Pin = LED1 | LED2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(LED_PORT, &GPIO_InitStructure); GPIO_PuPd_NOPULL - пулапы отключены.
  12. нет. если подаю напряжение проводком он зажигается. если поставить мултитестр в режим измерения диода - он тоже зажигает лед если приложить + к аноду.
  13. я вижу скопом на сопротивлении со стороны пина 3.3в. с другой стороны вижу 0.
  14. Я сдуру подключил леды напрямую к пинам через сопротивление 1 кило. Причем подключил сорс. подключил бы синк может быть и хватило бы сил у пина а так нету сил драйвить лед. Вопрос что можно сделать в этом случае? Контролер STM32F303C. Я помню в 32F1хх была опция установить ток пина 2ма, 8ма а в 3 серии я такой опции не нашел.
  15. IAR опять чудит

    категорически согласен. просто есть проблемы с более высоким приоритетом. отложу до лучших времен.