《安富萊嵌入式週報》第320期:鍵盤敲擊聲解碼, 軍工級boot設計,開源CNC運動控制器,C語言設計筆記,開源GPS車輛跟蹤器,一鍵生成RTOS任務鏈表

週報彙總地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104

 

視頻版:

https://www.bilibili.com/video/BV1Cr4y1d7Mp/



1、鍵盤敲擊聲解碼

https://arxiv.org/abs/2308.01074

鍵盤敲擊聲被解碼的話,我們使用鍵盤輸入密碼將被方便的解碼出來。這篇文章介紹了一種使用最先進的深度學習模型,以便使用手機麥克風對筆記本電腦敲擊鍵盤分析。實際測試訓練手機,可以實現97%的準確率,使用Zoom視頻會議軟件可以實現93%的精度。


2、4軸CNC運動控制器,搭載開源庫grblHAL,高度優化的 C 語言編寫,能夠保持高達300kHz的頻率,穩定、無抖動的控制脈衝

https://github.com/phil-barrett/PicoCNC/

可以爲機牀,銑牀等提供CNC運動控制器,

規格:

效果:

軟件是採樣的開源庫grblHA,高度優化的 C 語言編寫,能夠保持高達300kHz的頻率,穩定、無抖動的控制脈衝,當前已經支持了15款單片機。

http://svn.io-engineering.com:8080/

爲了方便使用,也可以在線選擇型號,生成固件,無需用戶自己折騰


3、開源低功耗4G-LTE GPS車輛跟蹤器,具有藍牙和Wi-Fi連接功能

介紹:https://docs.valetron.com/wiki/p ... k-v4-vts-io-int-lte
原理圖:https://docs.valetron.com/wiki/p ... esp32-c3/schematics
固件:https://docs.valetron.com/wiki/p ... s-esp32-c3/firmware


4、軟件

(1)是德科技推出PathWave ADS 2024,助力加速 5G 毫米波設計,引領 6G 開發

https://www.keysight.com.cn/cn/z ... 4-to-accelerat.html

是德科技推出PathWave高級設計系統(ADS)2024,這是一款電子設計自動化(EDA)軟件套件,爲芯片設計人員提供了新的毫米波(mmWave)和亞太赫茲(sub-THz)頻率功能,可加速5G毫米波產品設計並預測6G無線通信開發的要求。


(2)兆松科技 ZCC 工具鏈全面支持 ANDES 晶心科技 RISC-V 處理器

https://www.terapines.com/post/1735/

晶心科技是 32 及 64 位高效能、低功耗 RISC-V 處理器核心領導供貨商、RISC-V 國際協會的創始首席會員。ZCC 工具鏈相較晶心科技 AndeSight IDE 所提供的 LLVM 編譯器,可以進一步將AndesCore AX45 雙發射 8 級流水線處理器 CoreMark 分數提升 6%,在 Embench-IoT(-O3)測試中同時實現了 18.9% 的性能提升和 11.8% 的代碼密度優化;在 Embench-IoT(-Os)測試同時實現了 10% 的代碼密度優化和 9.1% 的性能提升


(3)nRF Connect for VS Code 加速物聯網開發

https://devzone.nordicsemi.com/n ... -connect-for-vscode

這個是Nordic新發的一篇博文,開頭有一句至理名言:“If the only tool you have is a hammer, you tend to see every problem as a nail”, 如果你擁有的唯一工具是錘子,你往往會把每個問題都視爲釘子,爲工作選擇合適的工具至關重要。

a、豐富的案例

b、設備樹可視化編程

c、應用程序KConfig配置

d、調試

e、內存報告


(4) emWin6.34模擬器發佈,增加Cortex-M85和A系NEON擴展的硬件逆離散餘弦IDCT支持

模擬器含手冊下載:

SeggerEval_WIN32_MSVC_MinGW_GUI_V634.zip (80.81MB)

更新記錄:


(5)STM32L5的ThreadX全家桶軟件包升級至V2.0.0

https://github.com/STMicroelectronics/x-cube-azrtos-l5


5、硬件

(1)ST推出汽車機器學習評估板SL-AIAID012401V1

https://blog.st.com/aekd-aicar1/

ST首款可識別四種汽車狀態的機器學習解決方案:停車、正常路況、顛簸路面、打滑或轉彎


(2) 安世半導體推出鈕釦電池長續航管理芯片NBM7100ABQ

https://www.nexperia.com/product ... ics/NBM7100ABQ.html

NBM7100A/B 是一款電池能量管理器件,設計用於需要突發電流負載的低電壓、低功耗應用時可最大限度地提高不可充電原電池的可用容量.

NBM7100A/B 包含兩級高效 DC-DC 轉換和智能學習算法。第一級DC-DC轉換以低恆流將能量從鋰電池傳輸到電容存儲元件。充電後,第二個 DC-DC 轉換週期利用該存儲的能量在 VDH 輸出引腳上提供具有高脈衝負載電流能力。電池永遠不會直接受到大負載脈衝電流的影響,從而延長電池壽命,實現更可預測的電池壽命

 

(3)雅特力發佈首款車規級MCU,AT32A403A通過AEC-Q100車規認證

AT32A403A通過AEC-Q100 Grade2車規級可靠性認證,滿足功能安全標準車規級MCU的能力,可用於環境溫度範圍-40°C到105°C的大部分車載應用環境

 

(4)思瑞浦推出多通道高精度ADC—TPC517系列!16位分辨率,最高1MSPS採樣率


6、軍工級系統boot設計

https://militaryembedded.com/cyber/cybersecurity/designing-and-implementing-secure-boot-for-military-grade-systems

這是一篇非常不錯的相關知識普及貼,軍用級系統需要高級別的安全性來保護敏感信息和操作免遭未經授權的訪問、修改。保護此類系統的關鍵組件之一是安全啓動,它確保在系統啓動期間只能加載受信任的固件和軟件


7、LPython:新穎、快速、可重定向的 Python 編譯器

https://github.com/lcompilers/lpython
https://lpython.org/blog/2023/07/lpython-novel-fast-retargetable-python-compiler/

LPython是一個Python編譯器,可以將type annotated 動態類型的Python代碼編譯爲優化的機器代碼。LPython提供了幾個後端,如LLVM,C,C++,WASM,Julia和x86。LPython 具有快速編譯和運行時性能。LPython還提供即時(JIT)編譯以及與CPython的無縫互操作性。


測試代碼:

[Python]

from lpython import i32
 
def main():
    x: i32
    x = (2+3)*5
    print(x)
 
main()

生成C和LLVM

[C]

$ lpython examples/expr2.py --show-c
#include <inttypes.h>
 
#include <stdlib.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <lfortran_intrinsics.h>
 
void main0();
void __main____global_statements();
 
// Implementations
void main0()
{
    int32_t x;
    x = (2 + 3)*5;
    printf("%d\n", x);
}
 
void __main____global_statements()
{
    main0();
}
 
int main(int argc, char* argv[])
{
    _lpython_set_argv(argc, argv);
    __main____global_statements();
    return 0;

[C]

$ lpython examples/expr2.py --show-llvm
; ModuleID = 'LFortran'
source_filename = "LFortran"
 
@0 = private unnamed_addr constant [2 x i8] c" \00", align 1
@1 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@2 = private unnamed_addr constant [5 x i8] c"%d%s\00", align 1
 
define void @__module___main_____main____global_statements() {
.entry:
  call void @__module___main___main0()
  br label %return
 
return:                                           ; preds = %.entry
  ret void
}
 
define void @__module___main___main0() {
.entry:
  %x = alloca i32, align 4
  store i32 25, i32* %x, align 4
  %0 = load i32, i32* %x, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @2, i32 0, i32 0), i32 %0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @1, i32 0, i32 0))
  br label %return
 
return:                                           ; preds = %.entry
  ret void
}
 
declare void @_lfortran_printf(i8*, ...)
 
define i32 @main(i32 %0, i8** %1) {
.entry:
  call void @_lpython_set_argv(i32 %0, i8** %1)
  call void @__module___main_____main____global_statements()
  ret i32 0
}
 
declare void @_lpython_set_argv(i32, i8**)

 

8、C語言程序設計筆記,適合想提高C/C++編程能力的

根據開頭的說明,此筆記不適合初學者,也不適合專家,適合想熟悉C/C++的人。

筆記一共64頁,內容不多。

  C-notes-en.pdf (598.73 KB)


9、波形圖繪製軟件waveme

感謝壇友fantasyhpu的分享。
https://www.armbbs.cn/forum.php?mod=viewthread&tid=120351

waveme是一款免費的波形圖繪製軟件,可以輸出BMP、PNG、SVG、TIFF、PDF等多種格式。


10、H7-TOOL本週進展

H7-TOOL詳細介紹:https://www.armbbs.cn/forum.php?mod=viewthread&tid=89934

H7-TOOL的FreeRTOS,RTX5,ThreadX,uCOS-II和uCOS-III一鍵鏈表查看功能全部製作完成

1、之前推出了H7-TOOL的RTOS Trace功能,已經支持RTX5,ThreadX,uCOS-III,uCOS-II和FreeRTOS,特色是不需要目標板額外做任何代碼,實時檢測RTOS任務執行情況,支持在線和脫機玩法。
     https://www.armbbs.cn/forum.php?mod=viewthread&tid=114824


2、但展示還不夠直觀,所以花了些時間研究圖形化鏈表方式展示任務管理,從源碼的角度來看,OS內核源碼就是通過各種鏈表組裝起來的,爲了讓大家更直觀的看內核實現,開始支持一鍵查看鏈表,這種鏈表會讓大家心裏更有底。

FreeRTOS:


uCOS-II


uCOS-III:


ThreadX:


RTX5:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章