本文來源電子發燒友社區,作者:趙杰, 帖子地址:https://bbs.elecfans.com/jishu_2293164_1_1.html
拿到躍昉科技BF2開發板有段時間,前面測試了一個demo后停了一段時間,雖然躍昉的技術支持很到位,但是整體感覺這款開發板應用過程中有很多的限制,因此也耽擱下來了。
當初申請這塊板子的時候也是想測試WiFi的,但是嘗試了幾次感覺其使用方面不太方便,尤其是代碼編寫方面,感覺很復雜,因此先完成其WiFi的Demo測試,即Customer_App下的lf686_demo_wifi例程。
一、代碼編譯及下載
使用VSCode查看代碼,并用MSYS2編譯的,由于沒改什么核心代碼,編譯也比較簡單。
1、在msys2中進入到lf686_demo_wifi目錄后,輸入./genromap進行編譯
正常情況下,直接完成編譯
生成后的文件在該目錄的build_out目錄下。
2、在tools目錄下的flash_tools中打開LFFlashEnv進行燒寫
選擇前面build_out目錄下的Bin文件
燒寫時需要把IO8拉到HI,然后復位后下載
三、運行結果
打開串口sscom,設置波特率2000000,就能獲得啟動過程中的信息,也是cli輸入命令的窗口
啟動信息部分之后,是系統初始化信息,即system_init信息
然后是lf_flash的分區信息
hal_board信息
后面是核心任務信息
后面是當前任務列表和啟動環境信息
后面是usart初始化和wifi初始化相關信息
在串口sscom中輸入help,可得到相關的支持命令
復制代碼
通過串口輸入相關命令,連接WiFi
wifi_sta_connect TP-LINK_6BE8 177381309xx
復制代碼
可以看到比較完整的WiFi連接信息,及其結果,IP地址詳細信息
成功連接WiFi后,可以用ping命令測試是否聯網成功
復制代碼
有個別丟包現象,應該是WiFi信號不夠好
demo例程中提供了一個http下載的功能
復制代碼
對應的命令是http,可以看到其下載的過程
復制代碼
total的值,應該就是下載的字節數值。
三、心得體會
BF2的開發板提供了很多的demo,還是比較豐富的,只是其代碼風格和公司的規定,可能有些特殊,感覺使用起來束縛感比較重,代碼方面也感覺不夠簡單易用,想開發符合自己要求的應用,感覺難度不小,相對其他廠家的同類產品,如ESP32等,易用性以及性價比方面感覺存在不小的差距。最后,還是感覺躍昉科技和發燒友提供的評測機會!
拿到躍昉科技BF2開發板有段時間,前面測試了一個demo后停了一段時間,雖然躍昉的技術支持很到位,但是整體感覺這款開發板應用過程中有很多的限制,因此也耽擱下來了。
當初申請這塊板子的時候也是想測試WiFi的,但是嘗試了幾次感覺其使用方面不太方便,尤其是代碼編寫方面,感覺很復雜,因此先完成其WiFi的Demo測試,即Customer_App下的lf686_demo_wifi例程。
一、代碼編譯及下載
使用VSCode查看代碼,并用MSYS2編譯的,由于沒改什么核心代碼,編譯也比較簡單。
1、在msys2中進入到lf686_demo_wifi目錄后,輸入./genromap進行編譯
![pYYBAGLOceGAM2w4AAOLvKNX5wI818.jpg](https://file.elecfans.com/web2/M00/53/34/pYYBAGLOceGAM2w4AAOLvKNX5wI818.jpg)
正常情況下,直接完成編譯
![poYBAGLOceOAIuemAAPwbjp-fQA107.jpg](https://file.elecfans.com/web2/M00/52/98/poYBAGLOceOAIuemAAPwbjp-fQA107.jpg)
生成后的文件在該目錄的build_out目錄下。
2、在tools目錄下的flash_tools中打開LFFlashEnv進行燒寫
選擇前面build_out目錄下的Bin文件
![poYBAGLOctmAAa_lAAH0WPXv4Xs646.jpg](https://file.elecfans.com/web2/M00/52/9B/poYBAGLOctmAAa_lAAH0WPXv4Xs646.jpg)
燒寫時需要把IO8拉到HI,然后復位后下載
![pYYBAGLOfU-AEr_4AARNcCQr4Eo084.jpg](https://file.elecfans.com/web2/M00/53/59/pYYBAGLOfU-AEr_4AARNcCQr4Eo084.jpg)
三、運行結果
打開串口sscom,設置波特率2000000,就能獲得啟動過程中的信息,也是cli輸入命令的窗口
![pYYBAGLOfSKAFA2nAAZi5H8Y1gM034.jpg](https://file.elecfans.com/web2/M00/53/58/pYYBAGLOfSKAFA2nAAZi5H8Y1gM034.jpg)
啟動信息部分之后,是系統初始化信息,即system_init信息
![pYYBAGLOfkaAbQROAAQGWZ_BCF0816.jpg](https://file.elecfans.com/web2/M00/53/5B/pYYBAGLOfkaAbQROAAQGWZ_BCF0816.jpg)
然后是lf_flash的分區信息
![poYBAGLOfjuAEMFCAAGZfk12pOk208.jpg](https://file.elecfans.com/web2/M00/52/C0/poYBAGLOfjuAEMFCAAGZfk12pOk208.jpg)
hal_board信息
![pYYBAGLOfjSAAZn3AAbzCoCrQKo688.jpg](https://file.elecfans.com/web2/M00/53/5B/pYYBAGLOfjSAAZn3AAbzCoCrQKo688.jpg)
后面是核心任務信息
![pYYBAGLOfkqAaUGkAAQk1t4XerY847.jpg](https://file.elecfans.com/web2/M00/53/5C/pYYBAGLOfkqAaUGkAAQk1t4XerY847.jpg)
后面是當前任務列表和啟動環境信息
![pYYBAGLOgHqADZJLAAJYLBAvs7c225.jpg](https://file.elecfans.com/web2/M00/53/62/pYYBAGLOgHqADZJLAAJYLBAvs7c225.jpg)
![pYYBAGLOgHeAFChgAAJCpKZ6TF0090.jpg](https://file.elecfans.com/web2/M00/53/61/pYYBAGLOgHeAFChgAAJCpKZ6TF0090.jpg)
后面是usart初始化和wifi初始化相關信息
![pYYBAGLOgWmAVCVkAAON-RxVae8927.jpg](https://file.elecfans.com/web2/M00/53/64/pYYBAGLOgWmAVCVkAAON-RxVae8927.jpg)
![poYBAGLOgWWAWZZTAARSpfEVl6k843.jpg](https://file.elecfans.com/web2/M00/52/C8/poYBAGLOgWWAWZZTAARSpfEVl6k843.jpg)
在串口sscom中輸入help,可得到相關的支持命令
- ====Support 4 cmds once, seperate by ; ====
- help : print this
- p : print memory
- m : modify memory
- echo : echo for command
- exit : close CLI
- devname : print device name
- sysver : system version
- reboot : reboot system
- poweroff : poweroff system
- reset : system reset
- time : system time
- ota : system ota
- ps : thread dump
- ls : file list
- hexdump : dump file
- cat : cat file
- ====User Commands====
- aws : aws iot demo
- pka : pka iot demo
- wifi : wifi
- sha : sha iot demo
- trng : trng test
- aes : trng test
- cks : cks test
- dma : dma test
- exception_load : exception load test
- exception_l_illegal : exception load test
- exception_store : exception store test
- exception_inst_illegal : exception illegal instruction
- stack_wifi : Wi-Fi Stack
- http : http client download test based on socket
- httpc : http client download test based on RAW TCP
- coex_dump : coex dump
- rf_dump : rf dump
- wifi_ap_bcnint_set : wifi ap bcnin set
- wifi_capcode : wifi capcode
- wifi_scan : wifi scan
- wifi_scan_filter : wifi scan
- wifi_mon : wifi monitor
- wifi_raw_send : wifi raw send test
- wifi_sta_info : wifi sta info
- wifi_sta_ip_set : wifi STA IP config [ip] [mask] [gw] [dns1] [dns2]
- wifi_sta_ip_unset : wifi STA IP config unset
- wifi_sta_disconnect : wifi station disconnect
- wifi_sta_connect : wifi station connect
- wifi_sta_get_state : wifi sta get state
- wifi_sta_autoconnect_enable: wifi station enable auto reconnect
- wifi_sta_autoconnect_disable: wifi station disable auto reconnect
- rc_fix_en : wifi rate control fixed rate enable
- rc_fix_dis : wifi rate control fixed rate diable
- wifi_sta_ps_on : wifi power saving mode ON
- wifi_sta_ps_off : wifi power saving mode OFF
- wifi_sta_denoise_enable: wifi denoise
- wifi_sta_denoise_disable : wifi denoise
- wifi_sniffer_on : wifi sniffer mode on
- wifi_sniffer_off : wifi sniffer mode off
- wifi_ap_start : start Ap mode
- wifi_ap_stop : stop Ap mode
- wifi_ap_conf_max_sta : config Ap max sta
- wifi_dump : dump fw statistic
- wifi_cfg : wifi cfg cmd
- wifi_mib : dump mib statistic
- wifi_pkt : wifi dump needed
- wifi_coex_rf_force_on : wifi coex RF forece on
- wifi_coex_rf_force_off : wifi coex RF forece off
- wifi_coex_pti_force_on : wifi coex PTI forece on
- wifi_coex_pti_force_off: wifi coex PTI forece off
- wifi_coex_pta_force_on : wifi coex PTA forece on
- wifi_coex_pta_force_off: wifi coex PTA forece off
- wifi_sta_list : get sta list in AP mode
- wifi_sta_del : delete one sta in AP mode
- wifi_edca_dump : dump EDCA data
- wifi_state : get wifi_state
- wifi_update_power : Power table test command
- looprt : looprt based on bloop
- looprt_status : looprt based on bloop
- looprt_evt : looprt notify event
- looprt_evt_status : looprt evt to dump
- looprt_schedule1 : looprt schedule evt 20s
- looprt_schedule2 : looprt schedule evt 10s
- tcpc : create a tcpc for in a new task
- tcps : create a tcp server for in a new task
- ipc : iperf TCP client
- ips : iperf TCP server
- ipu : iperf UDP client
- ipus : iperf UDP server
- netstat : show current net states
- ping : ping [-c count] [-i interval] [-W timeout] [-s size] [-h help] destination
- -c count of ping requests. default is infinite
- -i interval in ms. default is 1000
- -W timeout in ms. default is 5000
- -s ICMP payload size in bsntp_start : sntp start
- sntp_time : sntp time
- sntp_date : sntp date
- blfdt : blfdt
- blogset : blog pri set level
- blogdump : blog info dump
- ota_tcp : OTA from TCP server port 3333
- ota_dump : dump partitions for ota related
- lf_sys_time_now : sys time now
- psm_set : psm set
- psm_unset : psm unset
- psm_get : psm get
- psm_dump : psm dump
- psm_erase : psm dump
- psm_test : psm test
- gpio-func : gpio-func pinnum 0/1[0:output, 1:input] 0/1[pullup] 0/1[pulldown]
- gpio-set : gpio-set pinnum 0/1
- gpio-get : gpio-get pinnum
- wdt-init : wdt-init ms
- wdt-feed : wdt-feed
- wdt-disable : wdt-disable
- timer-start : timer-start
通過串口輸入相關命令,連接WiFi
wifi_sta_connect TP-LINK_6BE8 177381309xx
- ----- BUG FIXME? NOT do STA enable again
- [WF] MM_ADD_IF_REQ Sending: STA
- 歵d_start idx=0
- [WF] MM_ADD_IF_REQ Done
- [WF] vif_index from LAMC is 0
- [WF][SM] Entering idle state
- [WF][SM] Action Connect
- ssid TP-LINK_6BE8
- ssid len 12
- psk 17738130986
- psk len 11
- pmk
- pmk len 0
- channel band 0
- channel freq 0
- mac 00:00:00:00:00:00
- dhcp status: true
- [WF][SM] State Action ###idle### --->>> ###connecting###
- connecting using vif_idx 0
- ===start sm_get_bss_params===
- bssid[0] = 0xffff
- bssid[1] = 0xffff
- bssid[2] = 0xffff
- search ssid = TP-LINK_6BE8
- result ssid index = -1
- ===end sm_get_bss_params===
- [WF][SM] Entering connecting state
- # [APP] [EVT] Connecting 880885
- ===start sm_get_bss_params===
- bssid[0] = 0xffff
- bssid[1] = 0xffff
- bssid[2] = 0xffff
- search ssid = TP-LINK_6BE8
- result ssid index = 0
- ===end sm_get_bss_params===
- wpa2/wpa3 pairwise ccmp:1,tkip:0,wep104:0,wep:40:0
- wpa2/wpa3 group ccmp:1,tkip:0,wep104:0,wep:40:0
- wpa2/wpa3 is_pmf_required:0
- AP Security mode: wep:0,wpa:1,wpa2:1,wpa3:0
- ------ 247 set default key 0x42018c08, key ptr 0x00000000
- [APP] [EVT] SCAN On Join 884653
- [ 890129][[32mINFO[0m: lf_adc.c: 260] offset = 2158
- proc_hellow_entry: RISC-V rv32imafc
- 4-way handshake timeout failure, wlan 802.11 reason code = 15, try to transmit deauth frame
- ind ix 0x4202303c, chan_ctxt is 0x420183f4
- connect failure, ssid = TP-LINK_6BE8, index = 0
- from sm_connect_ind to scanu_rm_exist_ssid
- [RX] Connection Status
- [RX] status_code 8
- [RX] connect result: Passwd error, 4-way handshake timeout
- [RX] MAC 74:05:A5:C3:6B:E8
- [RX] vif_idx 0
- [RX] ap_idx 0
- [RX] ch_idx 0
- [RX] qos 1
- [RX] acm 0
- [RX] assoc_req_ie_len 89
- [RX] assoc_rsp_ie_len 196
- [RX] aid 0
- [RX] band 0
- [RX] center_freq 2462
- [RX] width 0
- [RX] center_freq1 2462
- [RX] center_freq2 0
- [WF][SM] Exiting connecting state
- [WF][SM] State Action ###connecting### --->>> ###disconnect###
- [WF][SM] Entering disconnect state
- [WF][SM] Will retry in 2000 ticks
- [APP] [EVT] disconnect 894737, Reason: Passwd error, 4-way handshake timeout
- [WF][PF] Using profile, idx is @0
- [WF][SM] Retry Again --->>> retry connect
- [WF][SM] Exiting disconnect state
- Delete Timer.
- [WF][SM] State Action ###disconnect### --->>> ###connecting###
- [WF][SM]Action Connect
- ssid TP-LINK_6BE8
- ssid len 12
- psk 17738130986
- psk len 11
- pmk
- pmk len 0
- mac 00:00:00:00:00:00
- connecting using vif_idx 0
- ===start sm_get_bss_params===
- bssid[0] = 0xffff
- bssid[1] = 0xffff
- bssid[2] = 0xffff
- search ssid = TP-LINK_6BE8
- result ssid index = -1
- ===end sm_get_bss_params===
- [WF][SM] Entering connecting state
- [APP] [EVT] Reconnect 896740
- [APP] [EVT] Connecting 896740
- ===start sm_get_bss_params===
- bssid[0] = 0xffff
- bssid[1] = 0xffff
- bssid[2] = 0xffff
- search ssid = TP-LINK_6BE8
- result ssid index = 0
- ===end sm_get_bss_params===
- wpa2/wpa3 pairwise ccmp:1,tkip:0,wep104:0,wep:40:0
- wpa2/wpa3 group ccmp:1,tkip:0,wep104:0,wep:40:0
- wpa2/wpa3 is_pmf_required:0
- AP Security mode: wep:0,wpa:1,wpa2:1,wpa3:0
- ------ 247 set default key 0x42018d40, key ptr 0x00000000
- [APP] [EVT] SCAN On Join 900510
- proc_hellow_entry: RISC-V rv32imafc
- set key:sta_idx:1, inst_nbr:0, key_idx:0,cipher_suite:2,key_len:16
- set key:sta_idx:255, inst_nbr:0, key_idx:1,cipher_suite:2,key_len:16
- ind ix 0x42022e34, chan_ctxt is 0x42018410
- [RX] Connection Status
- [RX] status_code 0
- [RX] connect result: sm connect ind ok
- [RX] MAC 74:05:A5:C3:6B:E8
- [RX] vif_idx 0
- [RX] ap_idx 1
- [RX] ch_idx 0
- [RX] qos 1
- [RX] acm 0
- [RX] assoc_req_ie_len 89
- [RX] assoc_rsp_ie_len 196
- [RX] aid 0
- [RX] band 0
- [RX] center_freq 2462
- [RX] width 0
- [RX] center_freq1 2462
- [RX] center_freq2 0
- [WF][SM] Exiting connecting state
- [WF][SM] State Action ###connecting### --->>> ###wifiConnected_ipObtaining###
- [WF][SM] Entering wifiConnected_ipObtaining state
- [WF][SM] DHCP Starting...0x42019e24
- [APP] [EVT] connected 900828
- -----------------> AABA Request:
- A-MSDU: Not Permitted
- Block Ack Policy: Immediate Block Ack
- TID: 0
- Number of Buffers: 64
- -----------------> AABA Response:
- A-MSDU: Not Permitted
- Block Ack Policy: Immediate Block Ack
- TID: 0
- Number of Buffers: 8
- [lwip] netif status callback
- IP: 192.168.1.105
- MK: 255.255.255.0
- GW: 192.168.1.1
- [WF][SM] Exiting wifiConnected_ipObtaining state
- [WF][SM] IP GOT IP:192.168.1.105, MASK: 255.255.255.0, Gateway: 192.168.1.1, dns1: 172.16.16.16, dns2: 172.16.16.17
- [WF][SM] State Action ###wifiConnected_ipObtaining### --->>> ###wifiConnected_IPOK###
- [WF][SM] Entering wifiConnected_IPOK state
- [APP] [EVT] GOT IP 903003
- [SYS] Memory left is 133512 Bytes
可以看到比較完整的WiFi連接信息,及其結果,IP地址詳細信息
成功連接WiFi后,可以用ping命令測試是否聯網成功
- ping -c20 www.baidu.com
- # 60 bytes from 182.61.200.7: icmp_seq=1 ttl=47 time=38 ms
- 60 bytes from 182.61.200.7: icmp_seq=2 ttl=47 time=34 ms
- proc_hellow_entry: RISC-V rv32imafc
- 60 bytes from 182.61.200.7: icmp_seq=3 ttl=47 time=37 ms
- 60 bytes from 182.61.200.7: icmp_seq=5 ttl=47 time=36 ms
- 60 bytes from 182.61.200.7: icmp_seq=6 ttl=47 time=37 ms
- 60 bytes from 182.61.200.7: icmp_seq=7 ttl=47 time=38 ms
- 60 bytes from 182.61.200.7: icmp_seq=8 ttl=47 time=35 ms
- The sequence number 4 timed out
- 60 bytes from 182.61.200.7: icmp_seq=9 ttl=47 time=39 ms
- 60 bytes from 182.61.200.7: icmp_seq=10 ttl=47 time=42 ms
- 60 bytes from 182.61.200.7: icmp_seq=11 ttl=47 time=36 ms
- 60 bytes from 182.61.200.7: icmp_seq=12 ttl=47 time=34 ms
- proc_hellow_entry: RISC-V rv32imafc
- 60 bytes from 182.61.200.7: icmp_seq=13 ttl=47 time=36 ms
- 60 bytes from 182.61.200.7: icmp_seq=14 ttl=47 time=39 ms
- 60 bytes from 182.61.200.7: icmp_seq=15 ttl=47 time=39 ms
- 60 bytes from 182.61.200.7: icmp_seq=16 ttl=47 time=39 ms
- 60 bytes from 182.61.200.7: icmp_seq=17 ttl=47 time=40 ms
- 60 bytes from 182.61.200.7: icmp_seq=18 ttl=47 time=39 ms
- 60 bytes from 182.61.200.7: icmp_seq=19 ttl=47 time=34 ms
- 60 bytes from 182.61.200.7: icmp_seq=20 ttl=47 time=41 ms
有個別丟包現象,應該是WiFi信號不夠好
demo例程中提供了一個http下載的功能
- static int client_demo(char *hostname)
- {
- int sockfd;
- /* Get host address from the input name */
- struct hostent *hostinfo = gethostbyname(hostname);
- uint8_t *recv_buffer;
- if (!hostinfo) {
- printf("gethostbyname Failedrn");
- return -1;
- }
- struct sockaddr_in dest;
- char buffer[MAXBUF];
- /* Create a socket */
- /*---Open socket for streaming---*/
- if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
- printf("Error in socketrn");
- return -1;
- }
- /*---Initialize server address/port struct---*/
- memset(&dest, 0, sizeof(dest));
- dest.sin_family = AF_INET;
- dest.sin_port = htons(PORT);
- dest.sin_addr = *((struct in_addr *) hostinfo->h_addr);
- // char ip[16];
- uint32_t address = dest.sin_addr.s_addr;
- char *ip = inet_ntoa(address);
- printf("Server ip Address : %srn", ip);
- /*---Connect to server---*/
- if (connect(sockfd,
- (struct sockaddr *)&dest,
- sizeof(dest)) != 0) {
- printf("Error in connectrn");
- return -1;
- }
- /*---Get "Hello?"---*/
- memset(buffer, 0, MAXBUF);
- char wbuf[]
- = "GET /ddm/ContentResource/music/204.mp3 HTTP/1.1rnHost: nf.cr.dandanman.comrnUser-Agent: wmsdkrnAccept: */*rnrn";
- write(sockfd, wbuf, sizeof(wbuf) - 1);
- int ret = 0;
- int total = 0;
- int debug_counter = 0;
- uint32_t ticks_start, ticks_end, time_consumed;
- ticks_start = xTaskGetTickCount();
- recv_buffer = pvPortMalloc(BUFFER_SIZE);
- if (NULL == recv_buffer) {
- goto out;
- }
- while (1) {
- ret = read(sockfd, recv_buffer, BUFFER_SIZE);
- if (ret == 0) {
- printf("eofnr");
- break;
- } else if (ret < 0) {
- printf("ret = %d, err = %dnr", ret, errno);
- break;
- } else {
- total += ret;
- /*use less debug*/
- if (0 == ((debug_counter++) & 0xFF)) {
- printf("total = %d, ret = %dnr", total, ret);
- }
- //vTaskDelay(2);
- if (total > 82050000) {
- ticks_end = xTaskGetTickCount();
- time_consumed = ((uint32_t)(((int32_t)ticks_end) - ((int32_t)ticks_start))) / 1000;
- printf("Download comlete, total time %u s, speed %u Kbpsrn",
- (unsigned int)time_consumed,
- (unsigned int)(total / time_consumed * 8 / 1000)
- );
- break;
- }
- }
- }
- vPortFree(recv_buffer);
- out:
- close(sockfd);
- return 0;
- }
對應的命令是http,可以看到其下載的過程
- http
- Server ip Address : 60.255.154.100
- total = 688, ret = 688
- proc_hellow_entry: RISC-V rv32imafc
- total = 234608, ret = 688
- total = 468528, ret = 688
- proc_hellow_entry: RISC-V rv32imafc
- total = 695568, ret = 1376
- total = 920544, ret = 688
- proc_hellow_entry: RISC-V rv32imafc
- total = 1157216, ret = 688
- total = 1490896, ret = 1376
- proc_hellow_entry: RISC-V rv32imafc
- total = 1885808, ret = 2064
- proc_hellow_entry: RISC-V rv32imafc
- proc_hellow_entry: RISC-V rv32imafc
- proc_hellow_entry: RISC-V rv32imafc
- proc_hellow_entry: RISC-V rv32imafc
- eof
total的值,應該就是下載的字節數值。
三、心得體會
BF2的開發板提供了很多的demo,還是比較豐富的,只是其代碼風格和公司的規定,可能有些特殊,感覺使用起來束縛感比較重,代碼方面也感覺不夠簡單易用,想開發符合自己要求的應用,感覺難度不小,相對其他廠家的同類產品,如ESP32等,易用性以及性價比方面感覺存在不小的差距。最后,還是感覺躍昉科技和發燒友提供的評測機會!
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
躍昉科技
+關注
關注
0文章
73瀏覽量
2082 -
開發板試用
+關注
關注
3文章
301瀏覽量
2159
發布評論請先 登錄
相關推薦
有獎丨米爾 全志T536開發板免費試用
米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發板發起試用活動您不僅可以免
![有獎丨米爾 全志T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
RISC-V廠商躍昉科技榮獲橫琴粵澳深度合作區“潛力獨角獸企業”認定
其未來巨大的發展潛力。 躍昉科技聚焦研發基于RISC-V架構的SoC芯片產品,已推出了SF1、BF2、GF3、GF5、NB2L、NB2 等六
【米爾-紫光PG2L100H國產FPGA開發板試用】官方LED例程測試體驗
通過本次LED例程測試,我們驗證了PG2L100H開發板的基本功能完全正常,PDS開發環境配置成功,為后續深入開發打下了良好基礎。官方提供
發表于 12-06 10:30
追加名額丨米爾瑞芯微RK3576開發板有獎試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576開發板發起
![追加名額丨米爾瑞芯微RK3576<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
有獎丨米爾 瑞芯微RK3576開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576開發板發起試用活動您不僅可以免
![有獎丨米爾 瑞芯微RK3576<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
躍昉科技正式加入openGauss社區
日前,躍昉科技簽署CLA(Contribution License Agreement,貢獻許可協議),正式加入openGauss社區,致力于推動openGauss RISC-V SIG的發展。
【作品合集】龍芯2K0300蜂鳥開發板試用精選
】+4.libmodbus移植【龍芯2K0300蜂鳥板試用】+3.移植lua到loongarch【龍芯2K0300蜂鳥板
發表于 09-10 18:17
點擊參與米爾NXP i.MX 93開發板有獎試用
米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發板發起試用活動您不僅可以免費體
![點擊參與米爾NXP i.MX 93<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
STM32F769I-DISCO開發板跑TouchGFX里的demo卡死黑屏的原因?
買的官方的STM32F769-DISCO開發板,下載SDK里的官方例程跑的很流暢。自己在TouchGFX上找到STM32F769-DISCO的demo后,生成的代碼、cubeMX配置、
發表于 04-12 07:46
【英飛凌測評】英飛凌PSoC? 62開發板試用報告-LCD ILI9341 8080 DEMO
# Infineon Psoc6-evaluationkit-062S2 說明 ## 簡介 本文檔為 `RT-Thread` 為 `PSoC6 CY8CKIT-062S2-43012` 開發板提供
![【英飛凌測評】英飛凌PSoC? 62<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>報告-LCD ILI9341 8080 <b class='flag-5'>DEMO</b>](https://file1.elecfans.com/web2/M00/C4/14/wKgaomXpu9qAR3zKAAD9PJqmAjk362.png)
評論