Hiểu thêm về HID Report Descriptor

Đang hì hục đọc sách các kiểu con đà điều để hiểu kĩ hơn về HID Report Descriptor (Đặc tả cấu trúc dữ liệu trao đổi của HID). Thì tìm được bài này, nó giải thích hầu hết những chỗ khó hiểu một cách dễ hiểu, và đặc biệt có ví dụ minh họa. Giờ xin dịch lại bài này một cách khái quát nhất. Vì để hiểu bài này cần biết đến một vài khái niệm về USB, về HID Device, nữa nên để xin tóm tắt nội dung bên dưới như sau. Qua giao tiếp USB, máy tính có thể giao tiếp với rất nhiều thiết bị từ USB Flash Memory (hay gọi là USB), chuột, bàn phím,..etc. Vì có rất nhiều thiết bị có thể kết nối được, nên để dễ phân biệt và dễ dàng cho việc phát triển Driver trên máy tính, người ta chia thành các lớp thiết bị. Có rất nhiều lớp không thể kể hết được, nhưng xin có 2 lớp chính đó là Mass Storage Device (chính là USB Flash Memory đấy), và HID Device (chính là chuột, bàn phím). ...

tháng 1 28, 2016

Về Renesas FIT - Firmware Intergrated Technology

Kinh nghiệm lập trình với Microcontroller chưa nhiều, chỉ mới 3 năm không liên tục. Nhưng cũng thấy phần nào được một ít gọi là cái hay của một công nghệ (thực ra cứ gọi là công nghệ thôi, chứ nhiều lúc công nghệ với kĩ thuật cũng khá gần nhau). Đó là FIT viết tắt của Firmware Intergration Technology (FIT) của Renesas. Theo những gì Renesas cung cấp, công nghệ này được sử dụng trong các dòng Chip RX từ RX63M, RX64M…RX113). ...

tháng 1 25, 2016

Bộ nhớ Flash

Để thành 1 bài thì hơi nhiều, những thôi đã để thành 1 bài thì vẫn phải viết. Lập trình với bộ nhớ Flash Nếu là Flash memory, khi lập trình nhất định phải có một thao tác xóa trước một thao tác ghi. Sau khi xóa, giá trị tất cả các ô nhớ là 1, tức là nếu đọc ra ta sẽ thấy toàn 0xFF thôi. Serial Flash Có rất nhiều loại Flash, nhưng trên các ứng dụng embedded thì Serial Flash được sử dụng phổ biến nhất. Vì giao tiếp được bằng các chuẩn Serial như SPI, I2C nên nó dễ dàng ghép nối với các chip trên board. ...

tháng 1 25, 2016

USB cho Dev (Chp.01 - Giới thiệu)

USB - Một chuẩn giao tiếp phổ biến nhất (tính đến 2016), hãy cùng tìm hiểu một chút về nó. Bài này không phải dành cho người sử dụng bằng nhứng con số về tốc độ, hay cách cắm vật lý. Bài này là một bài dịch, mình thấy cần rất hữu ích khi bắt đầu phát triển sử dụng USB. Link gốc tại http://www.beyondlogic.org/usbnutshell/usb1.shtml Tóm tắt về USB Hiểu chuẩn USB để sử dụng trong phát triển Nếu bạn là người bắt đầu công việc phát triển sử dụng USB, thì quả thật nó không dễ dàng gì. Có đến 650 trang tài liệu đặc tả USB 2.0 specification, mà đó mới chỉ là mô tả chuẩn chung thôi. Nếu phát triển một thiết bị cụ thể, giả sử là HID (bàn phím, chuột..etc) thì có khi bạn phải đọc thêm 97 trang tài liệu đặc tả thiết bị USB Class Standards nữa. Nếu bạn là nhà phát triển Driver cho phía Host, thì bạn phải số tài liệu tương đương. Nhưng thật ra mà nói, chẳng có gì ở mấy cái tài liệu đặc tả đâu. ...

tháng 1 25, 2016

Một số thuật ngữ về giao thông thông minh

ITS - Intelligen Transport System : Hệ thống giao thông thông minh ETC - Electronic Toll Collection : Tập hợp các hệ thống toán toán phí điện tử OBU - On-Board Unit : Thiết bị gắn vào phương tiện giao thông RDU - Road Side Unit : Thiết bị đặt ở các trạm thu phí, thường là 1 hoặc 1 vài Anten được kết nối với một hệ thống máy tính. <Còn nhiều>

tháng 1 24, 2016

Chia sẻ dữ liệu giữa Host và Guest như thế nào là có lợi nhất?

Ngày nay, dù chỉ cần có 1 mày tính thì người ta vẫn có thể sử dụng nhiều môi trường hệ điều hành khác nhau. Cái đó gọi là ảo hóa. Tức là trên một máy tính chạy một hệ điều hành cụ thể. Ta cài đặt một ứng dụng mô phỏng một máy tính trên đó. Ta sẽ có bao nhiều máy tính tùy vào khả năng phần cứng của máy thôi. ...

tháng 1 24, 2016

[CodeC] Về cách viết code

Việc code thường hay phải lặp đi lặp lại rất nhiều thao tác trong nhiều dự án khác nhau. Có thể kể đến nhưng scanf, fread, fwrite….print, debug… Giờ có một design, tức là flow chart+ danh sách tên hàm. Flow chart thì rõ là phải viết rồi, có thể đặt tên theo các xử lý, gắn các mã. Nó dù rất giống với phần implement nhưng ta có thể tách bạch được. ...

tháng 1 5, 2016

ECB, CBC trong AES

Một trong những phương pháp mã hóa dữ liệu được sử dụng như là một chuẩn. Đó là AES (Advanced Encryption Standard) Về mã hóa, là quá trình biến dữ liệu rõ (plain) thành dữ liệu nhiễu (encrypt). 1. Hai cách ứng dụng Mã hóa nói chung, thường sử dụng dụng một phương pháp toán học, mã học nào đó để làm nhiễu một cách chủ động thông tin ban đầu. ...

tháng 1 5, 2016

Khái quát về FAT

Trong quá trình porting sang hệ điều hành ITRON-based (NORTi), đã có dịp tìm hiểu về FAT, thấy bài của anh ELMちゃん này đầy đủ những thứ mình muốn biết về FAT nên sẽ dịch lại cả bài ở đây. Link gốc: http://elm-chan.org/docs/fat.html Trong tài liệu này, về cơ bản là dựa trên tài liệu vể FAT32 Spec , nhưng sẽ được giản luợc và bô sung thêm phần giải thích khái niệm mà bản gốc không có. Trong thực tế, các hệ thống chuẩn (DOS/Windows) cũng hoạt động không hoàn toàn giống với tài liệu Spec, tôi sẽ giải thích các khái niệm dựa trên hoạt động thực tế. Thêm một điều nữa là, trong tài liệu có thể có những nội dung theo ý cá nhân của tôi, nên khi triển khai hệ thống thực tế thì cần confirm chắc chắn yêu cầu thực tế rồi mới làm. ...

tháng 12 27, 2015

[OE] Tại sao vẫn dùng FAT

Bài hôm nay nói về một hệ thống file được sử dụng khá nhiều trên các phần mềm chạy trên mạch. Dù hiện nay có rất nhiều hệ thống file được nói đến như NTFS, Ext3, Ext4…Hầu hết những hệ thống file đó được sử dụng chủ yếu trên các máy có năng lực tính toán cao và khả năng lưu trữ lớn. Thế còn với những máy có năng lực tính toán hạn chế, dung lượng lưu trữ nhỏ thì sẽ sử dụng hệ thống file nào. Theo ý kiến cá nhân, hầu hết sẽ là FAT, một hệ thống file được ra đời từ những năm 1970. ...

tháng 12 27, 2015