Jump to content

    
Sign in to follow this  
Danis

STM32 – вопросы – проблемы - решения.

Recommended Posts

Также в PCM MAster с теми же настройками, sysclk=72mhz и I2SPR=ODD|140 Fs~=16кгц, а должно быть 8 судя по формуле в refman

When the master clock is disabled (MCKOE bit cleared):

Fs = I2SxCLK / [(16*2)*((2*I2SDIV)+ODD))] when the channel frame is 16-bit wide

Ну и bitrate=256кгц

Share this post


Link to post
Share on other sites

Господа. Скажите, почему в st-link utility при прошивке или записи битов конфигурации нужно нажимать reset? По идее st-link сам должен это делать. Или нога (у st-link) отгорела??? Где-то здесь я уже подобную проблему читал, т.е. проблема такая уже была, но не нашел ее решения. МК stm32f107vct6. До этого уже работал со 103 из iar, проблем не было. Хотя иногда при определенной конфигурации микроконтроллера все равно приходилось сбрасывать вручную. Может и такого тоже не должно было быть. Таким он был с момента покупки, к сожалению сравнить не с чем.

 

P.S. Попробовал 107 в иаре. Прошилось влет. Значит дело в st-link utility. Может как-нибудь настроить ее можно?

Edited by ZyBEX

Share this post


Link to post
Share on other sites

Отбой - нашел ошибку: есть одна короткая фраза в мануале, которую я не увидел сразу:

For write and erase operations on the Flash memory (write/erase), the internal RC oscillator

(HSI) must be ON

 

Вопрос такой: теперь не удается работать (стирать/писать) во внутреннюю флеш.

При записи улетаю в BusFault, при стирании - вообще проц. умирает: отладчик IAR (с ST-LINK) зависает.

Вот пример кода записи слова:

static void Write(WORD32 Flash_Addr, WORD16 val)

{

FLASH_KEYR = UNLOCK_KEY1; // Разблокируем контроллер.

FLASH_KEYR = UNLOCK_KEY2;

if((FLASH_CR & (1 << LOCK)) == 0)

{

FLASH_CR() |= (1 << PG);

*(WORD16 *)Flash_Addr = val; // Пишем - вот здесь возникает BusFault

while((FLASH_SR & (1 << BSY)) != 0); // Ждем готовности.

FLASH_CR() &= ~(1 << PG);

FLASH_CR |= (1 << LOCK);

}

}

Share this post


Link to post
Share on other sites

у меня и с включенным HSI и при записи в флеш через openocd проц умирал на всегда. с ST-link такого правда быть не должно по идее

Share this post


Link to post
Share on other sites

Точно умирает? Reset сразу после начала прошивки вручную нажимать пробовали. Интересно, что (у меня) команда стирания выполнялась сама, а запись требовала жать резет, иначе происходила потеря контроллера.

 

И все-таки вопрос про st-link utility: у кого-нибудь были аномалии при работе с ней, и как побеждали?

Edited by ZyBEX

Share this post


Link to post
Share on other sites
Точно умирает?

точно. даже после убирания питания, закорачивания всех ног на землю и ожидания 10 минут, jtag отвечает на команды, но дальше дело не идет, проц не видится дебаггером(jlink в том числе) и жрет раза в 2 больше тока,чем когда работает. уже 2 таких камня лежит

Share this post


Link to post
Share on other sites

Подскажите пожалуйста. где взять под OrCad библиотеки с STM32. Конкретно интересует чтоб был STM32F100C4 (довольно новый МК).

Конкретно интересует условное графическое обозначение и посадочное место для ПП.

 

Edited by wedmeed

Share this post


Link to post
Share on other sites
Подскажите пожалуйста. где взять под OrCad библиотеки с STM32. Конкретно интересует чтоб был STM32F100C4 (довольно новый МК).

Конкретно интересует условное графическое обозначение и посадочное место для ПП.

 

На сайте STm не смотрели ?

Share this post


Link to post
Share on other sites
На сайте STm не смотрели ?

Смотрел, но нашел только даташиты, а хотелось бы сэкономить время.

Share this post


Link to post
Share on other sites
Подскажите пожалуйста. где взять под OrCad библиотеки с STM32. Конкретно интересует чтоб был STM32F100C4 (довольно новый МК).

Конкретно интересует условное графическое обозначение и посадочное место для ПП.

Если понравится, берите то, что я нарисовал:

stm32f100c4.zip

Share this post


Link to post
Share on other sites
Подскажите пожалуйста. где взять под OrCad библиотеки с STM32. Конкретно интересует чтоб был STM32F100C4 (довольно новый МК).

Конкретно интересует условное графическое обозначение и посадочное место для ПП.

а отрисовать? займет же минут 20 ...

Share this post


Link to post
Share on other sites

Столкнулся с интересной особенностью защиты от чтения в STM32F10xx.

 

Хочется отвести в конце флеша участок, который хранил бы информацию о версиях прошивок устройства, настройках, пр.

 

Но при этом была возможность перепрограммирования через штатный бутлоадер.

 

Пытаюсь это сделать с помощью flash loader demonstrator.

Так вот, если поставить защиту от чтения- ее нельзя , получается, поставить на конкретные страницы флешь, только на всю целиком!

Хотя у каждой страницы есть свой флажок защиты от чтения... :(

И, соответственно, нельзя перешить процессор, не стерев всю память целиком, не тронув область , содержащую настройки.

 

Выходом из этого является чтение настроек перед прошивкой, потом записью их после прошивки.

 

Может, есть какой-то другой способ, который я проглядел? ( кроме написания собственного бутлоадера :) )

Share this post


Link to post
Share on other sites
Если понравится, берите то, что я нарисовал:

 

Спасибо, то что надо.

Share this post


Link to post
Share on other sites

Ещё один вопрос по тому же STM32F100. Нужен ли ему для асинхронного режима трансмитер RS-232? Или просто настроить PA9 и PA10 на альтернативную функцию и подключиться к компу?

Share this post


Link to post
Share on other sites
Ещё один вопрос по тому же STM32F100. Нужен ли ему для асинхронного режима трансмитер RS-232? Или просто настроить PA9 и PA10 на альтернативную функцию и подключиться к компу?

Скорее, это вопрос по уровням сигналов RS-232. Если лень ставить полноценный трансивер RS-232, нужен как минимум инвертор. Так как уровни логического "0" и "1" у микроконтроллера равны 0 и Vcc, а у RS-232 - +5..+12В и -5..-12В (замечаете инверсию?). Не говоря уже о том, что высокое напряжение с компьютера (+/-5В как минимум) может повредить МК.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this