суббота, 3 августа 2024 г.

W801 работа с SDK

 Для работы с одним интересным, производительным и недорогим (на момент написания данной статьи) микроконтроллером W801 существует специальный SDK https://github.com/cjacker/wm_sdk_w80x. Программировать данный микроконтроллер можно и через arduino IDE (о чем есть отдельная статья - https://electe.blogspot.com/2023/12/w801.html) но SDK предоставляет больше возможностей для использования данного микроконтроллера. Данный SDK можно использовать на операционных системах семейства Linux. Процесс компиляции и загрузки программы в плату, на самом деле, не очень сложный если разобраться. Использовать можно как какой нибудь иммитатор Linux так и реально установленную на диск операционную систему. Наиболее простой для пользователя операционной системой, из линуксообразных, возможно является Ubuntu. Которую можно установить на отдельный диск либо даже можно записать её на USB флеш накопитель и использовать в тестовом режиме. Чтобы начать работу система естественно должна быть настроена, на ней д.б. интернет и прочие вещи. Также необходимо установить некоторые зависимости для работы с SDK. После перехода в терминал нужно ввести команду

sudo apt-get update

после важно установить пакет build-essential который содержит много необходимых утилит. Напр. компиляторы gcc, g++, утилита make для сборки и многое другое. Чтобы установить данный пакет нужно вписать команду

sudo apt-get install build-essential

или специальный вариант чтобы не вводить "y" в процессе установки

sudo apt-get install build-essential -y

можно также установить git командой

sudo apt-get install git

И libcurses5-dev, для запуска конфигурационного меню, командой

sudo apt-get install libcurses5-dev

Далее необходимо скачать toolchain по ссылке

https://github.com/cjacker/wm_sdk_w80x/releases/download/init/csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz

или

 https://occ.t-head.cn/community/download

разархивировать его, создать папку toolchain в папке opt, в созданной папке toolchain создать ещё одну папку в которую поместить разархивированный toolchain. Далее нужно перейти в папку toolchain и склонировать в неё SDK командой

git clone https://github.com/cjacker/wm_sdk_w80x.git

Так чтобы в папке toolchain располагалось две папки одна из которых с toolchainом а другая с SDK. После, из папки toolchainом, нужно выполнить команду

sudo chown -R root:root csky-elfabiv2-tools-x86_64-minilibc-20210423/

Но только если папка в которую был помещё тулчейн была так названа csky-elfabiv2-tools-x86_64-minilibc-20210423. Если она названа по другому то и название в команду нужно вписать соответствующее. Далее нужно перейти в корень папки с SDK командой

cd wm-sdk-w80x 

И запустить меню конфигурации командой 

make menuconfig

В терминале откроется меню как на картинке
Здесь интересует пункт "toolchain configuration" который следует выбрать.
Далее появиться меню с двумя пунктами 
Нужно выбрать пункт "toolchain path" и в появившемся новом окне вписать путь до до папки bin 
которая располагается в папке с распакованным тулчайном, в начале и конце пути д.б. слеши.
После нужно выйти в основное меню и выбрать "save". После появиться окно в котором будет нужно нажать "OK" для того чтобы сохранить конфигурацию под названием по умолчанию.
Дальше можно выйти из конфигуратора меню, перейдя по пункту "Exit".
И теперь всё готово для компиляции кода. Сам код располагается в папке app с SDK. Внутри есть просто вывод строки "user task" по uartу. Чтобы откомпилировать этот код и получить прошивку, нужно перейти папку wm_w80x_sdk т.е. в корень SDK и ввести команду 

sudo make

Если компиляция пройдет успешно то вывод в терминале будет примерно таким
В папке w800 папки bin появится прошивка в формате .fls. Загрузить прошивку можно в микроконтроллер, утилитой wm_tools которая располагается в папке tools для ОС linux. Или утилитой wm_tools.exe для ОС windows. Чтобы использовать утилиту для linux нужно в пункте "Download confifuration" конфигуратора меню дописать "ttyUSB0". Использовать утилиту wm_tools.exe можно без дополнительных  настроек. Можно поместить прошивку в папку где располагается данная утилита и загрузить её в микроконтроллер командой

wm_tools.exe -dl w800.fls -c COM3

Где вместо COM3 нужно указать название своего COM порта который появился после подключения платы. Номер порта можно посмотреть например в Arduino IDE, диспетчере устройств или просто методом перебора. Во время процесса, в консоли появиться сообщение с просьбой перезагрузить плату. Для этого нужно нажать кнопку reset на плате и после, прошивка в неё загрузиться. 
Если прошивка удачно загрузилась то при подключенной плате можно видеть в мониторе последовательного порта сообщение "user tasks".



Адрес биткоин кошелька для поддержки блога - bc1qlhrmmkh77x2lzhqe4lt9qwkglswj64tsqt2l5g