[V3S NBV2] Hướng dẫn build Yocto
V3S NBV2
open-source linux computer
V3S NBV2 là máy tính nhúng mini được thiết kế bởi EPCB dựa trên chip V3S của hãng Allwinner với CPU cấu trúc Arm cortex A7, solo core với xung nhịp 1.2Ghz, tích hợp sẵn cổng Ethernet, USB, kết nối LCD và Camera giúp dễ dàng phát triển thành các thiết bị IoT tùy biến.
V3S NBV2 hỗ trợ hệ điều hành linux distro yocto được phát triển bởi EPCB
Cấu hình phần cứng
SOC: Allwiner V3S CPU ARM Cortex TM -A7 MP1 Processor
RAM: internal on-chip memory 512Mb DDR2 400Mhz
MEMORY: On board 16MB SPI nor flash, SD/TF card socket.
Ethernet: 10/100 base-T standard
USB 2.0: 1 port USB 2.0, integrate power distribution 5V/500mA
Display Output: Support RGB 18bit (666) Interfaces with DE/SYNC mode, up to 1024x768@60fps
Video Decoding: Onboard CSI 2 land connector, support H.264 video encoding up to 720p@60fps
Debug: onboard usb_to_com CP2102, connect via micro usb.
Extension ports: 2 x 3.3V, 2 x 5V, 2 x GND, 2 x UART, 1 x SPI, 1x I2C
LED: 1 x power led, 3 x GPIO led heart beat signal
Power supply DC 5V/500mA
PCB: 4 layer (2 signal, 2 plane)
Build Yocto cho Board V3S
Yocto là một dự án mã nguồn mở có mục tiêu là cung cấp các công cụ giúp xây dựng các hệ thống nhúng hoạt động trên hệ điều hành Linux. Tên đầy đủ là Yocto Project.
Cài đặt các package cần thiết cho máy host Ubuntu 18.04
User# sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \build-essential chrpath socat libsdl1.2-dev xterm
user# cd
Sau khi chạy script setup các biến môi trường trên thì một thư mục tên “build” được tạo ra.
“/home/fanning/v3s/poky-sumo"
Truy cập vào đường dẫn dưới đây sẽ có hai ví dụ file config.
Example “build_for_sato” là bản config để build một bản ROM có giao diện đồ họa với đầy đủ các tools cơ bản của Desktop.
File ''bblayers.conf" như sau:
Trong file “local.conf” có định nghĩa đối tượng thiết bị cho bản build ROM này:
Thiết bị định nghĩa mình dùng ở đây là “v3s”.
Các bạn copy hai file example này vào đường dẫn "/home/fanning/v3s/build/conf" rồi sửa đường dẫn trong file "bblayers.conf"
Sau khi làm xong bước trên các bạn bắt đầu build một bản ROM cho mình như sau:
user# cd /home/fanning/v3s
user# source poky-sumo/oe-init-build-env build
user# bitbake qt5-image
Sau khi quá trình build hoàn thành thì màn hình terminal như sau:
Lúc này các bạn truy cập vào dường dẫn như sau:
“/home/fanning/v3s/build/tmp/deploy/images/v3s”
Trong đây các bạn sẽ tìm thấy file “sdimg” là bản ROM chúng ta vừa tạo ra, việc còn lại chỉ là flash nó vào thẻ nhớ và cắm vào board V3S-NBV2.
Để flash vào thẻ nhớ, ở đây mình sử dụng công cụ dd tool.
user# cd /home/fanning/v3s/build/tmp/deploy/images/v3s
user# sudo dd bs=4M if=sdimg of=/dev/sdb conv=fsync
Với “/dev/sdb” là thẻ nhớ của mình, các bạn nên nhớ là mình flash ROM lên sdb luôn chứ không phải flash trên phân vùng sdb1.
Để xem thẻ nhớ các bạn khi cắm vào máy tính Ubuntu với tên là gì thì các bạn làm theo cách sau.
user# dmesg -Hw
Các bạn cắm thẻ vào lúc này log sẽ xuất hiện, log có cả tên thiết bị lưu trữ của bạn.
user# cd /home/fanning/v3s
Tạo SDK cho Board V3S
user# cd /home/fanning/v3s
user# source poky-sumo/oe-init-build-env build
user# source bitbake qt5-image -c populate_sdk
Sau khi quá trình build hoàn thành, thư mục "/home/fanning/v3s/build/tmp/deploy/sdk" được tạo ra, trong thư mục sdk chứa file script giúp chúng ta tạo install sdk vào thư mục trên máy host.
user# source cd /home/fanning/v3s/build/tmp/deploy/sdk
user# source ./oecore-x86_64-armv7vehf-neon-toolchain-nodistro.0.sh
Bạn có thể Enter để chọn đường dẫn mặc định, hoặc gõ đường dẫn bạn muốn cài đặt.
Đến lúc này bạn chỉ cần chờ quá trình “Extracting SDK” hoàn thành!
Hy vọng bài viết này sẽ giúp ích cho các bạn. Nếu các bạn có những thắc mắc cần giải đáp, hãy nhắn tin cho mình qua Fanpage: EPCB hoặc qua Email: epcbtech@gmail.com. Cảm ơn các bạn đã theo dõi!
Bình luận