Например TDA7294

Форум РадиоКот • Просмотр темы - Нужно написать на ассемблере на stm32f4discovery
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн дек 22, 2025 13:12:22

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 28 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Сб ноя 03, 2012 16:30:55 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
По одной дисциплине в институте мне нужно написать любую (!) программу на ассемблере для любого микроконтроллера. Вот ушел у меня взгляд на плату, которая давно лежит и более-менее работает на С. Я сижу на Linux+Eclipse. Можно использовать другие средства. Как можно создать на ассемблере проект, где об этом почитать? Ну то есть задача сводится к тому, чтобы на каком-нибудь мк, который поддерживает stlink, реализовать устройство с прошивкой на асм, лучше, конечно, использовать возможности платы.

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Сб ноя 03, 2012 18:16:45 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
http://stm32asm.ru/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Вс ноя 04, 2012 09:13:30 
Опытный кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
Вы хоть определитесь, что устройство делать должно.
Вот, например - работает, но ничего не делает :)
Код:
L1:NOP
B L1

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Пн ноя 05, 2012 07:42:52 
Вымогатель припоя

Карма: 4
Рейтинг сообщений: 15
Зарегистрирован: Вт июн 29, 2010 12:31:49
Сообщений: 670
Рейтинг сообщения: 0
Типа FFT :)) Вычисляет амплитуду сигнала определённой частоты в попугаях, при уходе частоты попугаев будет меньше.
Возможностей платы тут нет, зато есть возможности самого камня - используется FPU для взятия квадратного корня.

Код:
ExtractAmp   PROC

      MOV R8, #0
      MOV R9, #0
      MOV R10, #0
      MOV R11, #0
      
      
label0
      LDR R4, [R2,R3]
      
      LDR R6, [R0,R3]
      LDR R7, [R1,R3]
      
      SMLAL R8, R9, R4, R6
      SMLAL R10, R11, R4, R7
      
      CBZ R3, label1
      SUB R3, #4
      B label0
      
label1
       
      LSR R8, #4
      LSL R9, #28
      ADD R8, R8, R9
      
        LSR R10, #4
      LSL R11, #28
      ADD R10, R10, R11
      
      VMOV S0, R8
      VCVT.F32.S32 S0, S0
      
      VMOV S1, R10
      VCVT.F32.S32 S1, S1
      
      VMUL.F32 S0,S0,S0
      VMUL.F32 S1,S1,S1
      VADD.F32 S0,S0,S1
        VSQRT.F32 S0,S0
      
      BX  LR
      
      ENDP


По поводу ссылки, данной выше. У меня в кейле асм-файлы имеют расширение *.s. Хотя может он и *.asm понимает.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Пн ноя 05, 2012 12:01:28 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Для начала все же лучше определиться, какой конкретно алгоритм/программу/функцию хочется реализовать. Потом надо определиться с помощью каких инструментов это будет реализовываться, ибо что-то мне подсказывает, что GCC'шный ассемблер может отличаться от родного ARM'овского. Или нет? Подправьте меня, если я ошибаюсь - никогда не пользовался Eclipse+GCC.
А пока получается "хочу того, не знаю чего".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Пн ноя 05, 2012 12:10:41 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Автор, похоже забил, еще по теме: http://teplofizik.diary.ru/?tag=1082057


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Ср ноя 07, 2012 13:22:30 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
Да можно вообще для начала ограничиться выводом на порт 1. Там в первом проекте пока увидель только компилятор от Keil vision, сейчас еще почитаю по ссылкам. А ладно, я знаю, как прошить stm32f2-discovery на Linux, теперь вопрос в создании файла elf с помощью asm, вот я пока не знаю, реализуемо ли это на Linux, это красивее звучит. Так на ассемблере я писал для masm32 под ноут, а с asm под stm тоже буду разбираться.
Вообще дальнейшим шагом хочу вбить в память реализацию сигнала, типа ее принимает микросхема, это сигнал с частотой допплера, и схема будет частотомером с выводом на дисплей допплеровской частоты. Вот тут и fft тогда, как первый шаг, поможет.

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 08:55:57 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
http://www.terraelectronica.ru/idea.php?ID=374 Сам для себя пишу ссылку, так как не дома:) Там в тулчейне есть компилер асм, другое дело настроить и откомпилировать хотя бы без IDE все, пока не могу понять это. А ссылки с программами супер, последняя вообще, cейчас шарюсь по проектам:)

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 10:47:41 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
чтобы настроить и откомпилировать хотя бы без IDE надо использовать cmake
http://we.easyelectronics.ru/STM32/ispo ... nukse.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 11:29:43 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не обязательно. Достаточно одного gcc
cmake - для сборки сложного проекта (с библиотеками, кучей файлов)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 14:18:12 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
Блин, сейчас попробовал, пока кота за хвост тяну:) Буду дальше разбираться, но может объясните тогда еще другой путь? У меня пока не получилось скомпилировать с нуля свой проект с библиотеками, а пустой получилось, на С на Eclipse, уже сколько пробовал, все работает. А на Eclipse что нужно переделать, чтобы тот же самый рабочий проект, работающий, например, только с одним пином микросхемы, переписать на ассемблере и скомпилить? Я так понял, что для ассемблерских файлов компилятор GCC?

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 14:31:28 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Я так понял, что для ассемблерских файлов компилятор GCC?

Да, только сборка с поддержкой cortex'ов с системой команд thumb. Это всякие тулчейны, например Sourcery CodeBench Lite Edition.
Вот почитайте: http://www.robocraft.ru/blog/ARM/653.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 15:19:45 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
Блин, я хз пока, решил компилить проект для eclipse с помощью cmake, по этой самой ссылке http://we.easyelectronics.ru/STM32/razrabotka-pod-stm32-v-linux-gcc-cmake-eclipse-openocd_2.html, так вот, у меня 4xx, а не 10x плата, поэтому пытался переписать адреса и тп. Вот не знаю, где именно ошибку допустил, может компилятор не тот, но пока логи таковы:
Цитата:
cd /home/eugene/Desktop/project
root@eugene-R59P-R60P-R61P:/home/eugene/Desktop/project# cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=<путь к файлу тулчейна> -DCMAKE_BUILD_TYPE=Debug ./
-bash: путь: No such file or directory
root@eugene-R59P-R60P-R61P:/home/eugene/Desktop/project# cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=/home/eugene/CodeSourcery/Sourcery_CodeBench/bin/arm-none-linux-gnueabi-gcc -DCMAKE_BUILD_TYPE=Debug ./
CMake Error: Error in cmake code at
/home/eugene/CodeSourcery/Sourcery_CodeBench/bin/arm-none-linux-gnueabi-gcc:1:
Parse error. Expected a command name, got unquoted argument with text "ELF".
CMake Error at /usr/local/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake:92 (MESSAGE):
Could not find toolchain file:
/home/eugene/CodeSourcery/Sourcery_CodeBench/bin/arm-none-linux-gnueabi-gcc
Call Stack (most recent call first):
CMakeLists.txt:2 (PROJECT)


CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module file:/home/eugene/Desktop/project/CMakeFiles/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:/home/eugene/Desktop/project/CMakeFiles/CMakeCXXCompiler.cmake
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

Еще скажу, что у меня до этого были на компе тулчейн и либа stm32. Версии могут не совпадать. Хотя вроде просто тулчейн не нашел, но я, вроде, сам адрем тот прописал. Ваши предположения?

А так норм?
Цитата:
root@eugene-R59P-R60P-R61P:/home/eugene/Desktop/project# cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=/home/eugene/CodeSourcery/Sourcery_CodeBench/bin/ -DCMAKE_BUILD_TYPE=Debug ./
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/as
-- Loaded CMakeASMInformation - ASM support is still experimental, please report issues
-- Configuring done
CMake Error at CMakeLists.txt:84 (ADD_EXECUTABLE):
Cannot find source file "main.c". Tried extensions .c .C .c++ .cc .cpp
.cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx


-- Build files have been written to: /home/eugene/Desktop/project

Мне еще и main.c надо в проект добавить?

Короче остановился на том, что из примера (если я правильно понял, что это пример), я скопировал все файлы, запустил Cmake, он вообще не ругался, но проекта я так и не получил. Либо не понял, где он.

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Последний раз редактировалось kras Чт ноя 08, 2012 15:51:03, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 15:33:57 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Мне еще и main.c надо в проект добавить?

Да, конечно. Хотя я сам не пробовал ни разу работать с ассемблером на STM32
Вот, полностью по вашей теме: http://we.easyelectronics.ru/AVR/assemb ... r-gcc.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 15:50:20 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
О, там по ссылке можно справочник по командам еще дня 2 читать:)
Короче остановился на том, что из примера (если я правильно понял, что это пример), я скопировал все файлы, запустил Cmake, он вообще не ругался, но проекта я так и не получил. Либо не понял, где он.
Зато у меня провал, когда в eclipse продую сделать Import, пишет, в какую бы папку внутри проекта не зашел, что нет данных для импортирования

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 15:54:26 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вы хотите за час всё сделать? Тема довольно обширная. Курите ссылки, пробуйте, анализируйте, и всё получится. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Чт ноя 08, 2012 16:12:49 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
Как вариант предлагаю следующее:
1. Скачиваем крякнутую Keil MDK-ARM, которая из коробки делает все и без проблем.
2. Читаем ARM'овские документы про набор команд Cortex-M и вообще про ARM'овский ассемблер. Я запустил первый проект через несколько часов, а более-менее разобрался - за несколько дней.
3. ...
4. Профит!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Пт ноя 09, 2012 05:31:46 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
Keil можно параллельно, но я не хочу пока полагаться на Windows или эмуляторы, хочу чистый Linux, а у меня времени разобраться еще 1.5 месяца есть. А у меня еще одна проблема. Ну насчет нее я уже пытался соображать, пока слабо мне. Вот есть в Software Center сборка Eclipse Indigo. В свое время я установил ее. Она заглючила: проект не открывается, плагины отображаются, но использовать их при создании проекта нельзя и тп. Не знаю, что за лага такая, но о ней много написано в нете. Я пробовал удалить ее, пробовал вручную удалить все плагины, но пока все тщетно, программа даже при переустановке остается глюкнутой.
Проблема в том, что пока я нашел только такое решение: снести стандартно/через консоль, удалить еще пару файлов и установить с сайта релиз. Так и сделал, работает, но старая программа просто работала, наверное, по-другому, релиз с Software Center остался мертвым у меня. Вот теперь предложение: установить keil. Я не хочу исползовать эмулятор Windows, поэтому решил попробовать ARM Development Studio 5. Там Eclipse, который, видимо, устанавливается, как старая версия, которая у меня глючила! Вот установил я ее, лицензию ввел, создал новый проект из небольшого выбора (что сначала показалось странным), и проект не открывается. Думаю, это точно тот старый глюк;(

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Последний раз редактировалось kras Пт ноя 09, 2012 07:57:53, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Пт ноя 09, 2012 07:52:29 
Опытный кот

Зарегистрирован: Вт апр 26, 2011 18:37:06
Сообщений: 782
Рейтинг сообщения: 0
А можно где-нибудь наиболее популярно прочитать, из чего состоит devkitpro ARM (http://sourceforge.net/projects/devkitpro/) и зачем нужны его либы и другие части, как подготовить комп, чтобы его установить? Я попробовал, по getting started на оффициальном сайте, но у меня чего-то не смогло установить и я так и не разобрался. С самого начала консоль написала, что не знает команду usr/bin make like make (примерно, просто я уже закрыл консоль).

И еще сколько читаю, так и не могу понять, зачем нужны Cortex M4 и тп, если ARM11 самый сильный? Или архитектуры по производительности отличаются? Ну ценовой фактор, может быть, понятен, то есть для оптимальных решений. А вот если у меня денег неограничено, а я хочу самый передовой, чтобы изучить именно лучшую модель, чтобы она мало мощности потребляла относительно AMD или Intel, то это ARM11?

_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужно написать на ассемблере на stm32f4discovery
СообщениеДобавлено: Пт ноя 09, 2012 07:59:52 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 424
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Во-первых, что вы зациклились на этих IDE? Напишите пока проект без использования всяких рюшек и библиотек, с использованием текстового редактора и компилятора.
Во-вторых, не путайте процессор (ARM11) и контроллер (Cortex M4). Это разные вещи.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y