12 คะแนน โดย xguru 2022-06-13 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใช้งานได้กับไมโครคอนโทรลเลอร์, WebAssembly (WASM/WASI) และเครื่องมือ CLI เป็นต้น
  • รองรับแพ็กเกจส่วนใหญ่ของไลบรารีมาตรฐาน และสามารถคอมไพล์โค้ด Go ได้โดยไม่ต้องแก้ไข
  • ใช้ LLVM ภายในเพื่อสร้างโค้ดที่มีขนาดเล็กและมีประสิทธิภาพ
  • รองรับ CGo ได้อย่างยอดเยี่ยม

4 ความคิดเห็น

 
bus710 2022-06-13

ตอนที่ลองใช้ TinyGo กับบอร์ด Arduino Nano 33 (ที่ใช้ nrf52 หรือ Nano 33 IoT) ฟังก์ชันพื้นฐานต่าง ๆ ทำงานได้ค่อนข้างดีทีเดียว (มีปัญหาว่า BLE bonding ใช้งานไม่ได้...)

ผมเองก็คิดว่าน่าจะเอาไปใช้เชิงพาณิชย์ได้ยากเหมือนกัน แต่ก็ยังสนุกดีเพราะ go channel ทำงานได้จริงกว่าที่คิด เลยพอเหมาะสำหรับลองทำอะไรเล่น ๆ

ถ้าเป็นเฟิร์มแวร์ยุคนี้ Zephyr RTOS (c/c++) ก็ดูน่าสนใจอยู่พอสมควร อย่างแรกคือได้รับการสนับสนุนจาก Linux Foundation และยังถูกใช้อย่างจริงจังเป็น RTOS หลักของ Nordic Semi ด้วย อีกทั้งยังมีจุดแข็งด้านการรองรับโปรโตคอลที่หลากหลายและเครื่องมือพัฒนาด้วย

ในกรณีของ Rust เคยได้ยินมาว่าหลายครั้งต้องทำแบบ no_std เลยไม่ง่ายนัก แต่ผมก็ยังไม่เคยลองนำไปใช้จริงเหมือนกัน เลยอยากรู้เหมือนกันครับ ฮ่า ๆ

 
jjpark78 2022-06-13

ไมโครคอนโทรลเลอร์ที่รองรับยังค่อนข้างจำกัด และการรองรับตระกูลผลิตภัณฑ์อย่าง STM, NXP, TI ที่ใช้งานกันแพร่หลายก็ดูจะยังไม่ค่อยดีนัก
สำหรับ Esp32 ก็ยังใช้ Wi‑Fi กับ Bluetooth ไม่ได้ และถ้าจะบอกว่าพร้อมสำหรับโปรดักชันแล้วก็ดูจะยังขาดอยู่อีกพอสมควร

ส่วนตัวแล้ว ในบรรดาโปรเจกต์นำภาษาโมเดิร์นมาใช้กับ MCU แบบนี้ ผมคาดหวังกับ Rust ในงาน embedded มากที่สุด

 
tequila 2022-06-13

สวัสดีครับ/ค่ะ พอดีที่คุณพูดถึงระหว่างทางน่าสนใจมาก เลยขอถามหน่อยครับ/ค่ะ
เมื่อก่อนผม/ฉันเคยมีประสบการณ์เรียนและเขียน fw ด้วย C อยู่บ้าง (stm, ti) แต่รู้สึกว่าไม่ค่อยเหมาะกับตัวเองเลยเลิกไปแล้ว ตอนนี้เวลาผ่านมานานพอสมควร เลยอยากกลับไปศึกษาในสายนี้อีกครั้งในแบบที่โมเดิร์นขึ้นหน่อย(?)
สำหรับงานเฟิร์มแวร์ ตอนนี้ Rust ถือว่ายังใกล้กับเทรนด์มากกว่าอยู่ไหมครับ/คะ?

 
jjpark78 2022-06-15

การนำ Rust ไปใช้ในงานเฟิร์มแวร์ยังพูดได้ไม่เต็มปากนักว่า production ready แน่นอน~~~ แต่ตอนนี้ก็กำลังขยายการรองรับอุปกรณ์ที่ใช้งานได้อย่างรวดเร็วมากครับ..

ข่าวที่น่าสนใจคือ ดูเหมือนว่าช่วงหลังมานี้จะมีการประชุมลักษณะคล้ายงานเตรียมการล่วงหน้าเพื่อใส่ Rust เข้าไปในมาตรฐาน AutoSAR ด้วย..

ฝั่งเฟิร์มแวร์นั้น ด้วยสภาพแวดล้อมการทำงานที่ค่อนข้างเฉพาะตัว ถ้าเกิดบั๊กที่เกี่ยวกับ unmanaged memory ขึ้นมา ก็อาจร้ายแรงถึงขั้นวิกฤตได้ครับ..

ในฝั่งเฟิร์มแวร์ MCU

software emulation in embedded,
perfect unit testing without boards

หัวข้อประมาณนี้ถูกนำเสนอในงานสัมมนาค่อนข้างบ่อยครับ..

ถ้าเป็นหัวข้อขั้นสูงหน่อย ก็คงประมาณ onnx in mcu ไหมครับ ??