|
|
  |
GCC ARM - не имплементируются функции SIN, COS, arm-none-eabi |
|
|
|
Oct 3 2017, 11:56
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(Эдди @ Oct 3 2017, 11:52)  Лучше самому постепенно накапливать базу сниппетов, а затем по мере необходимости брать уже готовые куски кода. Вот такую базу у меня есть желание создать под один из современных ARM-ов, типа базового API для работы с нужными узлами. Нечто похожее сделал для ADSP BlackFin BF532/533 и для STM32F405 и для AT91RM9200 - с кешами, с MMU, на полной скорости.
|
|
|
|
|
Oct 3 2017, 11:59
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(Forger @ Oct 3 2017, 14:06)  А вот если чип залочен необратимо (у STM32 такое возможно) Это как? Неужто его можно залочить так, что даже бутлоадер не примет перезапись флеша? А если стереть бутлоадер, остается еще возможность стереть через SWD/JTAG при должной сноровке (жамкаем reset, а отпуская жмем enter в командной строке, где уже вбили команду стирания флеша). Цитата(__inline__ @ Oct 3 2017, 14:56)  Вот такую базу у меня есть желание создать под один из современных ARM-ов Под STM32F0, кстати, есть уже готовые сниппеты от самих ST. Жаль, что под другие линейки они не потрудились подобное накатать. С STM8 я сразу начал работать в стиле "пошли все нафиг, я даже заголовочный файл с дефайнами портов сам напишу", накапливая сниппетобазу. А вот с STM32, дурак, сразу не подумал так сделать. В итоге у меня есть одна интересная заготовка под F407 на дурацком SPL + еще куча полезных вещей на opencm3, все руки не дойдут переписать без библиотек. Позже стал осваивать STM32F0, там уже на грабли не натыкался — сразу пошел правильной дорогой.
|
|
|
|
|
Oct 3 2017, 12:03
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(Эдди @ Oct 3 2017, 11:54)  Что за ерунда? Я, например, вообще не использую ни JTAG, ни SWD — все STM32 шью через бутлоадер. Это намного удобней, да и не нужно лишних устройств присобачивать; а висящий на UART1 переходник после прошивки используется для отладки. SWD очень сильно помог мне, когда нужно было сдампить большой буфер данных из памяти контроллера, которые создал кодек речи. По UART будет дольше и это - дополнительная микросхема согласования лог. уровней + терминал. А через SWD - три проводка + встроенный программатор/отладчик на плате STM Discovery на USB + Utilites + окно в котором всё видно! Цитата(Эдди @ Oct 3 2017, 11:59)  Под STM32F0, кстати, есть уже готовые сниппеты от самих ST. Жаль, что под другие линейки они не потрудились подобное накатать. А вот под V3s нет  Только в составе Линукса  Поэтому лепить своё с оглядкой на Линукс  Для STM32F... вообще проблем быть не должно: Keil ARM генерит достаточно внятный стартап с пресетами + куча статей на русском языке! Ну разве что когда код в RAM исполнять - не забыть раздефайнить перенос таблицы векторов прерываний (если они используются) Ну и там же CMSYS со всеми объявленными хедерами - регистры, константы, битовые маски. А HAL + пресеты STM Cube - зло ))) Разве что для раскидки пинов использовать, куб идёт только в блевистах при установленной JRE, поэтому приходится идти в гости к знакомым. Тяжела нынче жизнь аппаратчика  Приходится искать альтернативные пути, не нарушая свои принципы...
Сообщение отредактировал __inline__ - Oct 3 2017, 12:14
|
|
|
|
|
Oct 3 2017, 12:09
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(Эдди @ Oct 3 2017, 14:59)  Это как? Неужто его можно залочить так, что даже бутлоадер не примет перезапись флеша? Можно. Да так, что ядро отладки напрочь отключается, если прошивка не финальная, то камень в помойку. RTFM  Цитата А если стереть бутлоадер, остается еще возможность стереть через SWD/JTAG при должной сноровке (жамкаем reset, а отпуская жмем enter в командной строке, где уже вбили команду стирания флеша). Штатный бутлодырь у STM32 стереть невозможно. После тотальной залочки им уже нельзя изменить прошивку, хотя связь с ним все еще возможна. Если же подход более профессиональный - самодельный бутлодырь, то в этом случае даже с тотальной залочкой обновление прошивки возможно средствами этого самописного бутлодыря, но сам бутлодырь уже никак не заменить. Поэтому тотальную залочку у STM32 следует включать только в самом финале выпуска изделий в серию. Собственно для этого он и был создан. Цитата я даже заголовочный файл с дефайнами портов сам напишу Вот уж действительно заняться нечем
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Oct 3 2017, 12:20
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(Forger @ Oct 3 2017, 12:09)  Вот уж действительно заняться нечем  иногда такой подход оправдан. как правило дефайны регистров делаю т через указатели и к ним обращаются так: *pGPIO_ISR=0x000, а хочется так: GPIO_ISR=0x0000. вот и приходится (volatile unsigned long int*) переправлять на *(volatile unsigned long int*) и отсекать *p Ну это уже мелочи. И кстати, из опыта, некоторые регистры отсутствуют в стандартных хедерах на STM32, приходилось дописывать самому.
|
|
|
|
|
Oct 3 2017, 12:24
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(__inline__ @ Oct 3 2017, 15:20)  как правило дефайны регистров делаю т через указатели и к ним обращаются так: *pGPIO_ISR=0x000, а хочется так: GPIO_ISR=0x0000. вот и приходится (volatile unsigned long int*) переправлять на *(volatile unsigned long int*) и отсекать *p Дык, в штатном дейфайне на STM это уже сделано, через структуры. Все просто и очевидно. Но если изобретение велосипеда - хобби, то это все меняет
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Oct 3 2017, 12:30
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Кстати, вот список процессов в WinXP от компа с которого пишу:
Обратите внимание - как мало процессов. Говно практически вычищено. Очень сомневаюсь, что под блевистами (windows vista,7,8,9,10,...) такое возможно. Вот это действительно конфа под которой приятно работать, так как всё чисто. И вирусы поймать можно только если запустить левый exe-шник скачанный из интернета. Потому что Java, Silverligtht, Flash, RPC выпилены, порты закрыты (кроме нужных) Цитата(Forger @ Oct 3 2017, 12:24)  Дык, в штатном дейфайне на STM это уже сделано, через структуры. Все просто и очевидно. Но если изобретение велосипеда - хобби, то это все меняет  Структурное описание регистров порой генерит слишком большой код и снижает понимание процессов, происходящих в аппаратуре. Но это лишь моё мнение.
Сообщение отредактировал __inline__ - Oct 3 2017, 12:27
|
|
|
|
|
Oct 3 2017, 12:31
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(__inline__ @ Oct 3 2017, 15:26)  Обратите внимание - как мало процессов. Говно практически вычищено. Вот это действительно конфа под которой приятно работать, так как всё чисто. Гы  Яркий пример хронической паранойи и суперпедантизма. Либо вам, просто, заняться больше нечем  Цитата Структурное описание регистров порой генерит слишком большой код Это так, если компилятор взят из 90х
Сообщение отредактировал Forger - Oct 3 2017, 12:32
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Oct 3 2017, 12:57
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(__inline__ @ Oct 3 2017, 15:03)  Для STM32F... вообще проблем быть не должно: Keil ARM генерит достаточно внятный стартап с пресетами + куча статей на русском языке! Я эту фигню не использую, во-первых, линуксоид, во-вторых, зачем мне под виртуалкой гонять ворованный софт, когда есть родное? IDE — geany (правда, я его тупо как редактор использую), а дальше все при помощи make делается (от компиляции до загрузки). Цитата(Forger @ Oct 3 2017, 15:09)  Вот уж действительно заняться нечем  Для STM8 это был единственный вариант, т.к. готового заголовочного файла в нормальном формате со всеми дефайнами и под лицензией, совместимой с GPLv3, я не нашел! Цитата(Forger @ Oct 3 2017, 15:24)  Дык, в штатном дейфайне на STM это уже сделано, через структуры. Что такое "штатный дефайн STM"? Не встречал. Скажем, под F0 я выдрал нужное из сниппетов от ST. А вот когда опять вернусь к F1, придется, видимо, из opencm3 выдирать. Цитата(__inline__ @ Oct 3 2017, 15:30)  Структурное описание регистров порой генерит слишком большой код Я тоже так думал, пока не проверил. Код получается абсолютно таким же, как и без структур. Все раскрывается на стадии препроцессора gcc. Конечно, выглядит по-ублюдски, но сойдет. P.S. А вот под STM8 так делать нельзя, потому как sdcc не оптимизирует код вообще никак! А кроме sdcc компиляторов под STM8 нет, к сожалению. Благо, этот МК не используется настолько часто, как более приятные STM32.
Сообщение отредактировал Эдди - Oct 3 2017, 12:58
|
|
|
|
|
Oct 3 2017, 13:14
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(Эдди @ Oct 3 2017, 15:57)  Что такое "штатный дефайн STM"? Не встречал. После установки голого KEIL, все дефайны/датышиты/профили и т.п. идут в виде отдельных PACK-ов. Их можно скачать без самого keil, и переименовать в zip, открыв содержимое. Там все нужные дефайны. Поскольку от HAL/SPL/CUBE отказался, сам пользую такое решение. Аналогично у ARM сделано для других процов. В шапке каждого дефайна вот такой текст (на примере STM32F0xx_DFP): Код * @file stm32f0xx.h * @author MCD Application Team * @version V2.2.3 * @date 29-January-2016 * @brief CMSIS STM32F0xx Device Peripheral Access Layer Header File. зы. Keil платный, отладчики от SEGGER тоже платные.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Oct 4 2017, 01:40
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Уважаемые mantech и другие пользователи! Мне очень интересно поддерживать общение с вами в данной теме, но мне бы совершенно не хотелось разводить здесь юридические шашни, связанные с программным обеспечением. В частности: последствия таблеток, какое у вас ПО, наличие-отсутствие лицензий, торренты и всё в таком духе. Давайте не будем превращать Форум Разработчиков Электроники в ещё один форум юристов! А то складывается такое впечатление, что некоторых кто-то напугал. Например, пишете про Keil - какой он у вас или упоминаете его в контексте крякнутого. Не нужно этого. Зачем и перед кем оправдыватесь? Давайте лучше делиться опытом в разработке программ для ARM !
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|