Sim A9G bài 5: Update GPRS_C_SDK

Sim A9G bài 5: Update GPRS_C_SDK

Series: Lập trình module sim A9G với GPRS_C_SDK

wp-content/uploads/2019/09/A9G_GPRS_GPS_SS1.png

Phiên bản chính thức hiện tại của bộ GPRS_C_SDK là V2.108. Ai-Thinker cũng đã chuẩn bị bản pre-release V2.112 khá lâu mà vẫn chưa release chính thức. Điểm qua các thay đổi trên bản V2.112 thì thấy có một số tính năng mới. Đồng thời còn có cập nhật core từ RDA dành cho CPU. Ngoài ra, một số lỗi của phiên bản cũ đã được sửa.

Tuy chưa phải là bản chính thức nhưng bản V2.112 chạy khá ngon.

Bản cập nhật mới có gì?

Theo Ai-Thinker liệt kê, chúng ta có các thay đổi sau:

  • Add LBS support
  • Add Gizwits support
  • Fix bug: get base station info frequently may lead to crash
  • Chage mqtt publish length limitation(from 256 to 4096)
  • add socket timeout support
  • fix API_EVENT_ID_SIGNAL_QUALITY spell error (from API_EVENT_ID_SINGNAL_QUALITY )
  • Function sprintf() sccanf() Trace() etc. add float support( %f )
  • add time() function

Dùng TortoiseGit để compare trước và sau khi cập nhật, ta có những thay đổi về file như sau.

Ta có một số thay đổi đáng chú ý như sau.

Thêm khá nhiều hàm liên quan đến AUDIO.

Thêm và sửa một số hàm liên quan đến GPS. Hỗ trợ AGPS.

Nay đã hỗ trợ WATCHDOG.

Ramrun cũng thay đổi.

Và còn khá nhiều thay đổi khác nữa.

Tại sao phải cập nhật?

Để sử dụng các tính năng mới và sửa các lỗi có thể gặp phải trên bản cũ.

Có cần thiết phải cập nhật?

Có, nếu bạn muốn dùng các tính năng mới (như watchdog) và sửa lỗi cũ.
Không, nếu hiện tại code của bạn đã chạy ổn và không cần gì thêm.

Cập nhật có khó không? Dung lượng bao nhiêu?

Super dễ 🙂 Cơ bản chỉ cần tải file về chép đè lên, rồi sau đó xóa một số file cũ.
Dung lượng cập nhật theo cách 2 chỉ có 24MB.

Cập nhật như thế nào?

Bước 1: Tải bản cập nhật

Cách 1: Từ github của Ai-Thinker

Truy cập vào GPRS_C_SDK_V21.112, trong đó sẽ có 3 tùy chọn server để tải, gồm: Baidu Cloud, Mega cloud, Direct link. Hãy chọn server tùy thích rồi tải về.

Cách 2: Từ github của xcode.vn

Cách này tiết kiệm thời gian hơn vì mình đã chọn ra những file có thay đổi và up lên github. Các bạn có thể download tại xcode.vn|new_gprs_c_sdk.

Bước 2: Copy files mới

Sau khi tải về, hãy giải nén ra một thư mục nào đó. Chép 4 thư mục sau vào C:\GPRS_C_SDK, cho phép ghi đè.

  • include
  • libs
  • platform

Bước 3: Xóa files cũ

Xóa các file sau để tránh xung đột platform khi build.

  • C:\GPRS_C_SDK\platform\csdk\debug\SW_V2108_csdk.elf
  • C:\GPRS_C_SDK\platform\csdk\debug\SW_V2108_csdk.lod
  • C:\GPRS_C_SDK\platform\csdk\release\SW_V2108_csdk.elf
  • C:\GPRS_C_SDK\platform\csdk\release\SW_V2108_csdk.lod

Kiểm tra kết quả sau khi cập nhật

Bước 1: Build thử

Sau khi cập nhật xong, hãy tiến hành build thử xem bộ SDK mới có lỗi gì không.

Output files sau khi thành công build đã được thay đổi tên theo version mới.

Bước 2: Nạp bộ ramrun mới và file *.LOD mới

Cũng giống như khi mua board mới, việc cài bộ SDK mới cũng phải nạp lại ramrun và file .*LOD mới.
Các bạn làm theo tại lần nạp đầu cho board mới. Lưu ý rằng, lần này thay vì chọn file *B2108* thì hãy chọn file *B2112* nhé.

Kết

Như vậy chúng ta đã hoàn thành xong việc cập nhật GPRS_C_SDK. Trên phiên bản mới có nhiều tính năng hơn và các lỗi của phiên bản cũ đã được sửa.

Hãy khám phá những tính năng mới hay ho ngay thôi 😛

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

3 Bình luận

  1. I updated the SDK and everything but I still get these messages occasionally and code stops working:

    Detected XCPU in the GDB loop (0x9db00000), connect GDB debugger for more info.
    Detected BCPU in the GDB loop (0x9db10000), connect GDB debugger for more info.

    I believe you too should have this problem since we are both using same Board and same SDK/Software (GPRS_C_SDK_V2112)
    Could you please help me?

    1. Hello Yaghi,
      I faced you issue many times. As my experiences, this issue is usually because of error/bug in code. Please be careful with pointers or strings.
      For further support, you can post your code here.
      Good luck!