Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту


 
Опции темы
Непрочитано 07.07.2021, 13:54  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 416
Сказал спасибо: 19
Сказали Спасибо 36 раз(а) в 28 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Ты же, как программист, должен понимать, что нуль тоже данные.
Реклама:
sat_art вне форума  
Непрочитано 07.07.2021, 15:48  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,191
Сказал спасибо: 100
Сказали Спасибо 717 раз(а) в 514 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Однако, одно дело, когда ты всегда детерминированные значения получаешь в случае отсутствия данных, и совсем другое — когда случайные. Ведь SPI в режиме слейва, если данных для отправки нет, отбрасывает "дно" FIFO, а это — четвертый с конца элемент. Ладно бы хоть последний…
__________________
https://github.com/eddyem/
http://stackexchange.com/users/2227375/eddy-em
http://eddy-em.livejournal.com/
In the world, only two things are the worst: Windows and Poettering.
eddy вне форума  
Непрочитано 24.07.2021, 11:57  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,191
Сказал спасибо: 100
Сказали Спасибо 717 раз(а) в 514 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Какая-то адова чертовщина у меня с попытками ввести программно STM32F042 в DFU. Вот код:
Код:
#define SYSMEM03x 0x1FFFEC00
#define SYSMEM04x 0x1FFFC400
#define SYSMEM05x 0x1FFFEC00
#define SYSMEM07x 0x1FFFC800
#define SYSMEM09x 0x1FFFD800
// define SystemMem to other in MAKEFILE
#ifndef SystemMem
#define SystemMem SYSMEM04x
#endif

void Jump2Boot(){
    __disable_irq();
    void (*SysMemBootJump)(void);
    volatile uint32_t addr = SystemMem;
    // reset systick
    SysTick-›CTRL = 0;
    // reset clocks
    RCC-›APB1RSTR = RCC_APB1RSTR_CECRST    | RCC_APB1RSTR_DACRST    | RCC_APB1RSTR_PWRRST    | RCC_APB1RSTR_CRSRST  |
                    RCC_APB1RSTR_CANRST    | RCC_APB1RSTR_USBRST    | RCC_APB1RSTR_I2C2RST   | RCC_APB1RSTR_I2C1RST |
                    RCC_APB1RSTR_USART4RST | RCC_APB1RSTR_USART3RST | RCC_APB1RSTR_USART2RST | RCC_APB1RSTR_SPI2RST |
                    RCC_APB1RSTR_WWDGRST   | RCC_APB1RSTR_TIM14RST  |
#ifdef STM32F072xB
            RCC_APB1RSTR_TIM7RST   | RCC_APB1RSTR_TIM6RST |
#endif
                    RCC_APB1RSTR_TIM3RST   | RCC_APB1RSTR_TIM2RST;
    RCC-›APB2RSTR = RCC_APB2RSTR_DBGMCURST | RCC_APB2RSTR_TIM17RST | RCC_APB2RSTR_TIM16RST |
#ifdef STM32F072xB
            RCC_APB2RSTR_TIM15RST |
#endif
                    RCC_APB2RSTR_USART1RST | RCC_APB2RSTR_SPI1RST  | RCC_APB2RSTR_TIM1RST  | RCC_APB2RSTR_ADCRST   | RCC_APB2RSTR_SYSCFGRST;
    RCC-›AHBRSTR = 0;
    RCC-›APB1RSTR = 0;
    RCC-›APB2RSTR = 0;
    __DSB();
    // remap system flash memory to 0 (only for STM32F0)
    SYSCFG-›CFGR1 = 0x01; __DSB(); __ISB();
    SysMemBootJump = (void (*)(void)) (*((uint32_t *)(addr + 4)));
    // set main stack pointer
    __set_MSP(*((uint32_t *)addr));
    // jump to bootloader
    SysMemBootJump();
}
На F072 (с соответствующим дефайном) он работает. А здесь - фигвам! Думал уж, что из-за вотчдога, но нет: без "собаки" тоже не работает.
Вместо того, чтобы выйти в режим DFU, оно заново перезапускается:
Код:
[  401.785411] usb 7-1: USB disconnect, device number 2
[  401.787383] pl2303 ttyUSB0: error sending break = -19
[  401.787517] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[  401.787526] pl2303 7-1:1.0: device disconnected
[  402.090390] usb 7-1: new full-speed USB device number 3 using uhci_hcd
[  402.215465] usb 7-1: device descriptor read/64, error -71
[  402.925481] usb 7-1: device descriptor read/64, error -71
[  403.147435] usb 7-1: new full-speed USB device number 4 using uhci_hcd
[  403.300347] usb 7-1: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 3.00
[  403.300352] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  403.300355] usb 7-1: Product: USB-Serial Controller
[  403.300358] usb 7-1: Manufacturer: Prolific Technology Inc.
[  403.303448] pl2303 7-1:1.0: pl2303 converter detected
[  403.316493] usb 7-1: pl2303 converter now attached to ttyUSB0
(у меня CDC эмулирует PL2303).
__________________
https://github.com/eddyem/
http://stackexchange.com/users/2227375/eddy-em
http://eddy-em.livejournal.com/
In the world, only two things are the worst: Windows and Poettering.
eddy вне форума  
Непрочитано 24.07.2021, 13:46  
j-Roger
Вид на жительство
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 470
Сказал спасибо: 329
Сказали Спасибо 569 раз(а) в 266 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

eddy, механизм 'Empty Check' - не оно?
AN2606 - шикарная аппнота по разным bootloader-ам.

Нажмите на изображение для увеличения
Название: AN2606_section_8.jpg
Просмотров: 0
Размер:	124.8 Кб
ID:	164228
j-Roger вне форума  
Непрочитано 24.07.2021, 14:12  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,191
Сказал спасибо: 100
Сказали Спасибо 717 раз(а) в 514 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

j-Roger, спасибо, понял!
Жаль, что это так. Придется программный переход в DFU убрать из конечного варианта прошивки, чтобы юзер случайно не стер флеш МК...
UPD: факир был пьян. Если стереть страничку по адресу 0x08000000, наступает тупая перезагрузка, SysMemBootJump() не выполняется ☹
__________________
https://github.com/eddyem/
http://stackexchange.com/users/2227375/eddy-em
http://eddy-em.livejournal.com/
In the world, only two things are the worst: Windows and Poettering.

Последний раз редактировалось eddy; 24.07.2021 в 14:56.
eddy вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 11:54.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot