Keny Drut w VisualGDB

Kącik poświęcony rozwiązaniom AIoT w szczególności 64bitowym RISC-V ze wsparciem AI.
na przykładzie Kendryte K210
ODPOWIEDZ
Awatar użytkownika
SunRiver
Administrator
Posty: 784
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Keny Drut w VisualGDB

Post autor: SunRiver » 01 gru 2019, 12:43

Płatna i przez wielu (pseudo openowców ) przez to znienawidzona wtyczka dla Visual Studio
Obsługuje coraz więcej embedowych produktów , dając tym samym możliwość pracy z mikrokontrolerami
w cywilizowanych warunkach jakie oferuje nam VS Community .

Tym razem dodano obsługę Kendryte K210 , który zdobywa popularność dzięki niskiej cenie :)
Tak czy siak dzięki temu możemy sobie odpuścić arduino czy jakieś dziwolągi i protezy dla Keny'ego
i tym samym pisać w cywilizowany sposób ... zobaczmy zatem jak się to spisuje :

Tworzymy nowy projekt .... to żadna sztuka

Obrazek

Który sobie nazwiemy K210Test i lecimy dalej ...

Obrazek

Jak widać Tradycyjnie wybieramy sobie MSBuild , tu niema znaczenia w tej chwili czy wybioerzemy C++ czy C
Jak również pozostałe jak tworzenie plików BIN i HEX jednocześnie .... i lecimy dalej :

Obrazek

teraz wybieramy kompilator i oczywiście mikrokontroler .... , a następnie ....

Obrazek

teraz dla szybkiego sprawdzenia wybierzemy sobie exampla z przykładów dostepnych w sdk dla K210
i ....

Obrazek

wybieramy sobie debugerus maximus ...
w moim wypadku niestety jest to TinCAN Flyswater z zestawu ESPresife Wroover , sprawia nieco kłopotów przy ustawieniu
ale dla kendryta , ale daje się ostatecznie okiełznać ....

Obrazek

...........

teraz czas zerknąc w nasz program ...

Obrazek

Kod nie jest tam jakiś wyuzdany jak na exampla przypadło ....
  1.  
  2. /* Copyright 2018 Canaan Inc.
  3.  *
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  *
  8.  *     http://www.apache.org/licenses/LICENSE-2.0
  9.  *
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  */
  16. #include <stdio.h>
  17. #include <unistd.h>
  18. #include "fpioa.h"
  19. #include "gpio.h"
  20.  
  21. int main(void)
  22. {
  23.     fpioa_set_function(24, FUNC_GPIO3);
  24.  
  25.     gpio_init();
  26.     gpio_set_drive_mode(3, GPIO_DM_OUTPUT);
  27.     gpio_pin_value_t value = GPIO_PV_HIGH;
  28.     gpio_set_pin(3, value);
  29.     while (1)
  30.     {
  31.         sleep(1);
  32.         gpio_set_pin(3, value = !value);
  33.     }
  34.     return 0;
  35. }
  36.  
  37.  
  38.  
Po kompilacji odpalamy i oto .....

Obrazek

Obrazek

nasza dioda led błyska sobie w najlepsze a wiec wszystko ładnie działa ...

No nie do końca ........

VisualGDB ładnie debuguje program i niema z tym problemu , ale przez Debuger program jest wgrywany do pamięci RAM
i nie ma go tym samym we FLASH co zobaczycie po resecie lub odłączeniu zasilania , że oprogramowanie układowe nie
zostało zmienione .....

aby sobie z tym poradzić na tą chwile musimy wygenerowany w VGDB plik .bin/.hex wgrać ręcznie używając programu
K-FLASH ...

Obrazek

Jest to poniekąd utrudnienie i mała niedogodność , ale mam nadzieję , że się z tym uporają i podłączą k-flasha lub podobny
serial Stub , który podobnie jak w przypadku ESP8266 czy ESP32 umożliwia wgrywanie przez bootloader do naszego układu
K210 ...

Miłej ZABAWY ....
.... z każdym bitem serca ....
💫SunDUINO
💦GitHUB
💦Google Drive
💦Sotton

ODPOWIEDZ