Кокос капут? И где SPL для L и F4 ?

Кто любит RISC в жизни, заходим, не стесняемся.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение a5021 »

ArtemKuchin писал(а):Чем при это плох SPL мне не ясно.

А то, что он умер, вам тоже не ясно?

Его использует если не миллионы, то десятки тысяч, он проверен и перепроверен,

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

Не заморачивайтесь, пусть каждый пользует то, что пользует, лишь бы работало :)

Да я, как бы, ничьих прав ущемить не в состоянии. Просто мне делается странно от того, что можно не видеть настолько очевидные перспективы. Когда, скажем, через три года производитель выпустит новый совершенный МК, обладатели десятого дана по SPL, чего будут вынуждены делать? Переквалифицироваться в управдомы?
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение AVI-crak »

dosikus писал(а):Я о том, что для JLink нет выбора новых F0xx при отладке.
Да и сам дебагер по сравнению с Keil'овским - сплошная ересь...


Про JLink ничего хорошего сказать не могу, а вот плохое сразу вспомнилось - этот девайс кеширует данные в неявном виде. Это даёт заметное ускорение при подключении к известным для самого девайса чипам. А если такого id в банке прошивки не обнаруживается - то кеш работает на полную. Словом начинается ад и содомия. Девайс может в наглую забить на чтение регистра из мк - отдавая в комп сохранённое значение.

ST-Link видит и шьёт всю линейку от st, а так-же как оказалось почти все arm камни.
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение ArtemKuchin »

по "умершему" SPL:

1) На сайт st.com во всех скачках SPL значится как "active".

2) st.com официально заявило, что SPL остается активным продуктом для тех серий, для которых он был
выпущен и там будут правиться баги, ЕСЛИ будут найдены. Я смотрел последние исходники - правки от ноября 2015го.

3) От того, что его (ВОЗМОЖНО) не будут делать для новых серий он не перестанет работать на старых, на которых и делается еще и будет делаться лет 10 основная масса поделок

4) Когда STM перейдет на новые серии и SPL доступен не будет придется осваивать HAL, так как примочка подобного рода все равно нужна для ускорения разработки и тестов. Как вариант взять что-то типа http://libopencm3.org , если будет жив еще. Но HAL осваивать выгоднее, так как user-base намного больше однозначно, т.е. больше пример, больше мест, где могут помочь, лучше вылизан код.

Вы считаете STM идиотами, которые будут тратить миллионы долларов на разработку и поддержку программной библиотеку, которая никому не нужна? Ради чего?


Еще раз: это спор ни о чем. Это все касается восприятия продукта. Например, если я буду писать на C для Z80 с перефирией а-ля spectrum используя чужие мертвые либы, то это типа норм. А вот если я пишу на STM32 (на 2 порядка более мощный камень) используя чужие либы то это ересь. Помню, как тут кто-то распинался, что писать на С для AVR это ересь - только ASM!

Каждому свое, случаи разные бывают, не надо весь мир загонять в свои простенькие алгоритмы - ему там тесно будет.

Любопытно по теме coocox мнений не поступило. Я думал он популярен.


dosikus :

Что не так с дебаггером в EmBitz? Кейловский только в картинках видел, никаких принципиальный отличий не увидел. Прошу рассказать.
Долой идиотизм!
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение Reflector »

ArtemKuchin писал(а):От того, что его (ВОЗМОЖНО) не будут делать для новых серий он не перестанет работать на старых, на которых и делается еще и будет делаться лет 10 основная масса поделок

Его уже не делают для новых L0, L4 и F7.
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение ArtemKuchin »

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

Любопытно, что если взять SPL для старого L0, например, и подцепить к новому? Я думаю там почти все идентично, а разницу можно регистрами добивать вручную. Но это так, дурацкие костыли. Лучше HAL.
Долой идиотизм!
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение Oxford »

http://www2.keil.com/stmicroelectronics-stm32/mdk

MDK for STM32F0 and STM32L0 provides software developers working with STM32 devices with a free-to-use professional tool suite. Keil MDK is the most comprehensive software development system for ARM processor-based microcontroller applications.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение ArtemKuchin »

Кстати, о работе с регистрами напрямую.

Вот наш коллега просит помощи

viewtopic.php?f=59&t=132608
и никто не поможет

И там чистые регистры, и чтобы проверить этот код надо свихнуться, каждый цифру надо идти и проверять по даташиту.
И даже если там были его собственные константы, то доверия им было бы ноль. А вот константам из SPL/HAL я верю.
Долой идиотизм!
Serg1987
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение Serg1987 »

ArtemKuchin писал(а):Кстати, о работе с регистрами напрямую.

Вот наш коллега просит помощи

viewtopic.php?f=59&t=132608
и никто не поможет

И там чистые регистры, и чтобы проверить этот код надо свихнуться, каждый цифру надо идти и проверять по даташиту.
И даже если там были его собственные константы, то доверия им было бы ноль. А вот константам из SPL/HAL я верю.


А что такого? Я тоже люблю напрямую с регистрами работать. Мне эти библиотеки до одного места. Я хочу разобраться, что где к чему и как. А в этих библиотеках только гадай, что и как куда выставляется, и что куда. Захочешь чего-то в программе изменить. А хрен там- поди пойми, за что там какая переменная отвечает. Плюс еще напихают в каждый файл по 10 инклудов. И кури, ищи функцию, разбирайся, как она работает.
Сейчас дружно мучаем USB в STM32 на уровне регистров. viewtopic.php?f=59&t=130816
Вон, скачал как-то библиотечный пример для USB HID.. И нифига, работает на разных компах по разному. В основном криво. Так что..

Библиотеки эти засунуть в одно место. :kill:
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение AVI-crak »

ArtemKuchin писал(а):Вот наш коллега просит помощи
viewtopic.php?f=59&t=132608
и никто не поможет.


Это уже явный перегиб.
Настоящий код в стиле CMSIS - использует дефолтные названия регистров, дефолтные названия битов в регистрах.
И я смею утверждать что названия битов в регистрах не меняются от серии к серии.
Да, они могут переехать в другой регистр, или даже сменить своё положение в начальном, или даже добавиться/удалиться от серии к серии.
Но никогда !!! никогда не меняют своего имени.
По этому перенос кода с камня 107 на новый 746 - занимает пару минут. Перенос с 107 на 030 - чуть дольше, но тоже уложился в один вечер.
Не представляю себе, сколько пришлось-бы мудохаться с халом или спл.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение a5021 »

ArtemKuchin писал(а):Кстати, о работе с регистрами напрямую.
Вот наш коллега просит помощи

Ваш коллега так же любитель полумер и противоречий. Иначе не объяснить, почему он из заголовочных файлов берет названия регистров, но не берет названия битов.

Когда просят помощи, код должен быть оформлен примерно так:

Спойлер

Код: Выделить всё

void initI2C(void)  {
 
  RCC->APB1ENR |= RCC_APB1ENR_I2C1EN;         // I2C1 clock enable
 
  I2C1->CR2 = (            // I2C Control register 2
    0 * I2C_CR2_SADD        |   // Slave address (master mode)
    0 * I2C_CR2_RD_WRN      |   // Transfer direction (master mode)
    0 * I2C_CR2_ADD10       |   // 10-bit addressing mode (master mode)
    0 * I2C_CR2_HEAD10R     |   // 10-bit address header only read direction (master mode)
    0 * I2C_CR2_START       |   // START generation
    0 * I2C_CR2_STOP        |   // STOP generation (master mode)
    0 * I2C_CR2_NACK        |   // NACK generation (slave mode)
    0 * I2C_CR2_NBYTES      |   // Number of bytes
    0 * I2C_CR2_RELOAD      |   // NBYTES reload mode
    0 * I2C_CR2_AUTOEND     |   // Automatic end mode (master mode)
    0 * I2C_CR2_PECBYTE         // Packet error checking byte
  );
   
  I2C1->OAR1 = (           // I2C Own address 1 register
      0 * I2C_OAR1_OA1      |   // Interface own address 1
      0 * I2C_OAR1_OA1MODE  |   // Own address 1 10-bit mode
      0 * I2C_OAR1_OA1EN        // Own address 1 enable
  );
   
  I2C1->OAR2 = (           // I2C Own address 2 register
      0 * I2C_OAR2_OA2      |   // Interface own address
      0 * I2C_OAR2_OA2MSK   |   // Own address 2 masks
      0 * I2C_OAR2_OA2EN        // Own address 2 enable
  );

  I2C1->TIMINGR = (uint32_t)0x0010020A;
  //I2C1->TIMINGR = (uint32_t)0x0010020A;
  //I2C1->TIMINGR = (uint32_t)0x00310309;
  //I2C1->TIMINGR = (uint32_t)0x00B01A4B;  // I2C Timing register
  //I2C1->TIMEOUTR  = 0;     // I2C Timeout register -- valid only in SMB mode
  //I2C1->ISR                // I2C Interrupt and status register
  //I2C1->ICR                // I2C Interrupt clear register
  //I2C1->PECR               // I2C PEC register
  //I2C1->RXDR               // I2C Receive data register
  //I2C1->TXDR               // I2C Transmit data register
 
  I2C1->CR1 = (            // I2C Control register 1
    1 * I2C_CR1_PE          |   // Peripheral enable
    1 * I2C_CR1_TXIE        |   // TX interrupt enable
    1 * I2C_CR1_RXIE        |   // RX interrupt enable
    0 * I2C_CR1_ADDRIE      |   // Address match interrupt enable
    0 * I2C_CR1_NACKIE      |   // NACK received interrupt enable
    1 * I2C_CR1_STOPIE      |   // STOP detection interrupt enable
    0 * I2C_CR1_TCIE        |   // Transfer complete interrupt enable
    1 * I2C_CR1_ERRIE       |   // Errors interrupt enable
    0 * I2C_CR1_DFN         |   // Digital noise filter
    0 * I2C_CR1_ANFOFF      |   // Analog noise filter OFF
    0 * I2C_CR1_SWRST       |   // Software reset
    0 * I2C_CR1_TXDMAEN     |   // DMA transmission requests enable
    0 * I2C_CR1_RXDMAEN     |   // DMA reception requests enable
    0 * I2C_CR1_SBC         |   // Slave byte control
    0 * I2C_CR1_NOSTRETCH   |   // Clock stretching disable
    0 * I2C_CR1_WUPEN       |   // Wakeup from STOP enable
    0 * I2C_CR1_GCEN        |   // General call enable
    0 * I2C_CR1_SMBHEN      |   // SMBus host address enable
    0 * I2C_CR1_SMBDEN      |   // SMBus device default address enable
    0 * I2C_CR1_ALERTEN     |   // SMBus alert enable
    0 * I2C_CR1_PECEN           // PEC enable
  );
}


А этот неизвестно чей коллега просто говорит: "А ну, яйцеголовые, сделайте быстро за меня мою работу." С такой позицией, его все мысленно шлют нахрен и правильно делают.
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение Oxford »

Serg1987 писал(а):
ArtemKuchin писал(а):Кстати, о работе с регистрами напрямую.

Вот наш коллега просит помощи

viewtopic.php?f=59&t=132608
и никто не поможет

И там чистые регистры, и чтобы проверить этот код надо свихнуться, каждый цифру надо идти и проверять по даташиту.
И даже если там были его собственные константы, то доверия им было бы ноль. А вот константам из SPL/HAL я верю.


А что такого? Я тоже люблю напрямую с регистрами работать. Мне эти библиотеки до одного места. Я хочу разобраться, что где к чему и как. А в этих библиотеках только гадай, что и как куда выставляется, и что куда. Захочешь чего-то в программе изменить. А хрен там- поди пойми, за что там какая переменная отвечает. Плюс еще напихают в каждый файл по 10 инклудов. И кури, ищи функцию, разбирайся, как она работает.
Сейчас дружно мучаем USB в STM32 на уровне регистров. viewtopic.php?f=59&t=130816
Вон, скачал как-то библиотечный пример для USB HID.. И нифига, работает на разных компах по разному. В основном криво. Так что..

Библиотеки эти засунуть в одно место. :kill:

Ну и сиди и программируй один. А то потом сидят помощи просят а че не работает. Готовьте бабло господа если хотите что бы ваши регистры разгребали. И выть не надо что глючит все.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение a5021 »

А где, вы говорите, массово воют по этому поводу? Хочу пойти посмотреть.
Westbam
Встал на лапы
Сообщения: 82
Зарегистрирован: Пт янв 02, 2009 19:28:44
Откуда: Москва
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение Westbam »

После знакомства с кейлом я про кокос забыл тут же, и контроль ошибок у кокоса хуже чем у кейла.
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: Кокос капут? И где SPL для L и F4 ?

Сообщение Oxford »

Westbam писал(а):После знакомства с кейлом я про кокос забыл тут же, и контроль ошибок у кокоса хуже чем у кейла.

Молодец. Встал на правильный путь. :beer:
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Ответить

Вернуться в «ARM»