Forth http://fforum.winglion.ru/ |
|
Применение Форта для ARM, AVR, MSP430, PIC ... http://fforum.winglion.ru/viewtopic.php?f=39&t=9 |
Страница 8 из 17 |
Автор: | Ilya [ Вт апр 05, 2016 12:08 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
chu писал(а): Илья, ты же свою машинку от PLL разогнал? Покажи, плз, как считаешь значение для Baud rate register (USART_BRR). Чего то я туплю не могу определиться с битовым полем DIV_Fraction[3:0] Урра! Сам победил. Какую из 4-х (STM32L152, F429, F411, F103)? "...и тут Остапа понесло..." Все F-ки разогнаны. Раньше считал ручками, а тут подсмотрел у буржуя: Код: : baud ( u -- u ) \ calculate baud rate divider, based on current clock rate clock-hz @ swap / ; Сейчас ковыряю F103 (китайский клон Maple mini) и опять наступил на грабли с таймером. Камень разогнан до 72 MHz, на APB1 должно быть 36 MHz и фигвам! Ибо на блок-схеме (в разделе про RCC) есть пометка if (APB1 presclaer=1) x1 else x2 !!! + прескалер у TIM2 16 разрядный. ЗЫ SPI и I2C будешь осиливать? |
Автор: | chu [ Ср апр 06, 2016 08:42 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
Ilya писал(а): Все F-ки разогнаны. Покажи как разгоняешь. Ilya писал(а): ..., а тут подсмотрел у буржуя Покажи где подсмотрел Ilya писал(а): SPI и I2C будешь осиливать? Обязательно, но не сразу. |
Автор: | Ilya [ Ср апр 06, 2016 19:23 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
chu писал(а): Ilya писал(а): Все F-ки разогнаны. Покажи как разгоняешь. Ilya писал(а): ..., а тут подсмотрел у буржуя Покажи где подсмотрел Ilya писал(а): SPI и I2C будешь осиливать? Обязательно, но не сразу. 1) Это не моё, но адаптированное под F411 Код: \ f (VCO clock) = f (PLL clock input) * (PLLN/PLLM) \ f (PLL general clock output) = F (VCO clock) / PLLP \ f (USB, RNG und andere) = f (VCO clock) / PLLQ compiletoflash 1 24 lshift constant PLLON 1 25 lshift constant PLLRDY 1 22 lshift constant PLLSRC 1 16 lshift constant HSEON 1 17 lshift constant HSERDY USART2 $8 + constant USART2_BRR : 100MHz ( -- ) HSEON RCC_CR bis! begin HSERDY RCC_CR bit@ until \ Set Flash waitstates ! $104 Flash_ACR ! \ 3 Waitstates for 120 MHz with more than 2.7 V Vcc, Prefetch buffer enabled. PLLSRC \ HSE clock as 8 MHz source 8 0 lshift or \ PLLM Division factor for main PLL and audio PLL input clock \ 8 MHz / 8 = 1 MHz. Divider before VCO. Frequency entering VCO to be between 1 and 2 MHz. 200 6 lshift or \ PLLN Main PLL multiplication factor for VCO - between 192 and 432 MHz \ 1 MHz * 200 = 200 MHz 5 24 lshift or \ PLLQ = 5, 200 MHz / 5 = 40 MHz 0 16 lshift or \ PLLP Division factor for main system clock \ 0: /2 1: /4 2: /6 3: /8 \ 100 MHz / 2 = 100 MHz RCC_PLLCFGR ! PLLON RCC_CR bis! \ Wait for PLL to lock: begin PLLRDY RCC_CR bit@ until 2 \ Set PLL as clock source %101 10 lshift or \ APB Low speed prescaler (APB1) - Max 42 MHz ! Here 100/4 MHz = 25 MHz. %100 13 lshift or \ APB High speed prescaler (APB2) - Max 90 MHz ! Here 120/2 MHz = 50 MHz. RCC_CFGR ! $d9 USART2_BRR ! \ Set Baud rate divider for 115200 Baud at 25 MHz. ; : init 100mhz cr ." Freq: 100 MHz" cr ; compiletoram 2) Вот тут много чего есть https://github.com/jeelabs/embello/tree ... 1608-forth |
Автор: | chu [ Пт апр 15, 2016 10:16 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
Прерывания. Туплю. Для моего stm32VLDiscovery читаю README.txt писал(а): ;------------------------------------------------------------------------------ ; Specials for STM32F100 and STM32F103: ;------------------------------------------------------------------------------ ... ... Interrupts: irq-adc ( -- a-addr ) Memory locations for IRQ-Hooks irq-exti4 irq-exti3 irq-exti2 irq-exti1 irq-exti0 Look into vectors.s and interrupts.s to add more interrupts. Означает ли это что для добавления в систему других векторов необходимо редактировать указанные файлы и собирать (ассемблировать) систему заново? (мне понадобилась обработка прерываний от usart3 ) И что это такое, для чего нужно и как этим пользоваться Цитата: ;------------------------------------------------------------------------------ ?; Common Hardware access ;------------------------------------------------------------------------------ ... ... irq-collection ( -- a-addr ) Collection of all unhandled interrupts Не догоняю |
Автор: | Ilya [ Пт апр 15, 2016 11:39 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
chu писал(а): Прерывания. Туплю. Означает ли это что для добавления в систему других векторов необходимо редактировать указанные файлы и собирать (ассемблировать) систему заново? (мне понадобилась обработка прерываний от usart3 ) И что это такое, для чего нужно и как этим пользоваться Цитата: ;------------------------------------------------------------------------------ ?; Common Hardware access ;------------------------------------------------------------------------------ ... ... irq-collection ( -- a-addr ) Collection of all unhandled interrupts Не догоняю Именно! Я первым делом добавляю требуемые вектора и пересобираю. |
Автор: | chu [ Пн апр 25, 2016 13:01 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
Ilya писал(а): Сейчас ковыряю F103 (китайский клон Maple mini)... У меня теперь такой stm32f103c8t6 minimum system development board module есть. Ilya писал(а): KPG писал(а): Chu По какой инструкции (шагов) собирается Mecrisp из исходников.... Правда не знаю как в Форточках, а в Линухе надо ещё установить arm-none-eabi-gcc. Установил Sourcery CodeBench Lite Edition for ARM EABI. Это именно arm-none-eabi-gcc под Вынь7. Вроде прописал путь нормально , оно работает в соответствии с пункт2, только посвежее Код: gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-23) Ilya писал(а): Так вроде всё достаточно просто: 1. cd .../mecrisp-stellaris-2.1.6/mecrisp-stellaris-source/stm32... 2. make clean & make Может и просто, но собрать пока не получилось, туповат. Поможи,плз. Хоchu дорешить сборку и вектора прерываний. |
Автор: | Ilya [ Вт апр 26, 2016 02:51 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
chu писал(а): Ilya писал(а): Сейчас ковыряю F103 (китайский клон Maple mini)... У меня теперь такой stm32f103c8t6 minimum system development board module есть. Код: gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-23) Может и просто, но собрать пока не получилось, туповат. Поможи,плз. Хоchu дорешить сборку и вектора прерываний. Да, вы сударь халявщик! Ножки под st-link выведены отдельно. А попробовать качнуть тут из "букваря"? Или могу у себя пересобрать. ЗЫ Наткнулся ограничения размера кода в DO...LOOP и узрел следующее в controlstructures.s: " @ Short conditional B.. opcodes support 8 Bits jump range - one of that for sign." - сразу вспомнил Zilog Z80. Единственный ASM на котором я чёй-то пописывал. Нафига он так сделал? Оптимизация? ЗЗЫ Потихоньку перепиливаю свой Ардуиновский "проект" на STM. В процессе ковыряния с TFT LCD сумел в SPI: . В начале осилил ногодрыганьем, а потом и аппаратным. Правда пока только передающий master и без прерываний. Аппаратный оказался шустрее в 3-и раза! Из 3-х Фортов (amforth, Tachyon Forth, spf4) накопипастил 1Wire, и получил забавный глюк: пока в магистрали один 18b20, то 1w.scan не видит его ROM, добавляю ещё один или два датчика и нахожу только один ROM! Есть идеи? |
Автор: | chu [ Сб апр 30, 2016 07:38 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
Ilya писал(а): ... забавный глюк: пока в магистрали один 18b20, то 1w.scan не видит его ROM, добавляю ещё один или два датчика и нахожу только один ROM! Есть идеи? Есть. Некорректные времянки. Кривой скан. В случае когда сенсор один и не найден: - это может быть любой или какой-то определенный? - что возвращает DetectPresence ( 1w-presence?)? - и так с каждым? В случае, когда сенсоров несколько и находится только один: - это всегда один и тот же? - если разные, есть зависимость от расположения на линии? ЗЫ. Теперь умею собирать mecrisp из исходников. За ссылку спасибо. ЗЗЫ. Как же они жрут память, эти кортексы ... |
Автор: | Hishnik [ Вт май 03, 2016 01:18 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
chu писал(а): Теперь умею собирать mecrisp А что в нем такого привлекательного? В каждом регионе, в принципе, свои популярные-доставаемые-поддержанные МК. Mecrisp в России как-то не очень... или нет? Нет, я вижу Stellaris, допустим, в терраэлектронике, но выглядит он... обычно. |
Автор: | KPG [ Вт май 03, 2016 04:32 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
Hishnik писал(а): chu писал(а): Теперь умею собирать mecrisp А что в нем такого привлекательного? В каждом регионе, в принципе, свои популярные-доставаемые-поддержанные МК. Mecrisp в России как-то не очень... или нет?. Вопрос не до понят Mecrisp-Stellaris - это авторское название Форт системы для ARM контроллеров от разных производителей (отдельно Mecrisp есть и для MSP430). P.S. Поддержка Stellaris в нём, возможно, появилась в первую очередь. |
Автор: | Hishnik [ Вт май 03, 2016 11:08 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
KPG писал(а): Mecrisp-Stellaris - это авторское название Форт системы для ARM контроллеров от разных производителей (отдельно Mecrisp есть и для MSP430). Я как-то зацепил активное продвижение именно Mecrisp-Stellaris в c.l.f. По обыкновению, абстрактные вопросы остались там неуслышанными, в качестве основного достижения упоминалась именно поддержка Stellaris. Чем она так важна и уникальна, я так и не смог узнать. |
Автор: | Ilya [ Пт май 06, 2016 03:06 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
chu писал(а): ... Есть. Некорректные времянки. Кривой скан. ... Добавил 3-й датчик и scan нашёл 2-а датчика! Бум ковырять скан. |
Автор: | Ilya [ Пт май 06, 2016 03:16 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
Hishnik писал(а): chu писал(а): Теперь умею собирать mecrisp А что в нем такого привлекательного? В каждом регионе, в принципе, свои популярные-доставаемые-поддержанные МК. Mecrisp в России как-то не очень... или нет? Нет, я вижу Stellaris, допустим, в терраэлектронике, но выглядит он... обычно. Пожирнее возможности за меньшую стоимость по сравнению с Ардуиной. amForth - чуть (не всегда конечно) накосячил и весь флэш в прах. Welcome на перезаливку! Mecrisp поустойчивей в этом плане. |
Автор: | Ilya [ Сб май 07, 2016 04:22 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
chu писал(а): Ilya писал(а): ... забавный глюк: пока в магистрали один 18b20, то 1w.scan не видит его ROM, добавляю ещё один или два датчика и нахожу только один ROM! Есть идеи? Есть. Некорректные времянки. Кривой скан. "Победил"!!! Выкинул свои извращения и адаптировал твои amForth-ские либы. Кста, у меня они уже 2-а года успешно трудятся в железяке! |
Автор: | KPG [ Пт июн 03, 2016 04:47 ] |
Заголовок сообщения: | Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
x4th is a Forth like cross compiler running under Windows targeting Microchip PIC processors. x4th compiles Forth sources into an assembly file, not directly into target code. Код: Directly supported processors for the current package are :
18c242 18c252 18c442 18c452 18f242 18f252 18f442 18f452 18f6527 18f6622 18f6627 18f6722 |
Страница 8 из 17 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |