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

[USB]Các khái niệm về USB

Kết nối USB, chắc chắn ai cũng biết. Mỗi người đểu sở hữu ít nhất một thiết bị có kết nối này. Tôi cũng đã từng nghĩ nó sẽ khá dễ dàng để hiểu, để lập trình giống như người dùng vẫn hiểu về nó. Đúng là với người dùng cuối, một thiết bị có kết nối thì khả năng có nó có thể kết với máy tính như smartphone, máy nghe nhạc, bộ sạc…. rất dễ hiểu, dễ gần. ...

tháng 12 22, 2015

CMake - Một ví dụ đơn giản

Trong bài tôi đã giới thiệu qua về CMake. Như ta đã biết nó cung cấp tính tăng giúp việc sinh ra Makefile một cách hiệu quả. Nhất là đối với các dự án phức tạp. Nó cũng cung cấp thêm các bộ sinh khác để sinh cấu trúc quản lý source cho các IDE khác nhau như Visual Studio, KDE. Trong giới hạn, tôi sẽ nói về việc sử dụng CMake để build một simple project trên cả Windows và Linux. ...

tháng 8 16, 2015

Giao thức MQTT

Bài này dự là sẽ dịch lại đặc của giao thức MQTT này, nhằm có một cách hiểu tổng quát về MQTT protocol. Link gốc : http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html Update 2017/03/24: Bản dịch của MQTT đã được chuyển sang địa chỉ sau: http://minatu2d.github.io/

tháng 8 4, 2015

CMake - Công cụ hỗ trợ việc build source trên nhiều platform.

Đuợc làm việc cùng những pro đầy kinh nghiệm thực sự rất thú vị, ngoài việc chia sẻ hiểu biết của mình, còn đuợc hóng nhiều kĩ năng sử dụng tool của các pro nữa. Mình thấy rằng, không có tool nào gọi là thần thành, mọi tool chỉ giúp tăng tốc độc với những người mới và không đủ thời gian để hiểu sâu. Còn với những người đã nhiều kinh nghiệm, họ sử dụng tool theo các điểm mạnh của chúng và kết hợp rất nhiều tool một cách nhịp nhàng sao cho công việc tiến hành nhanh nhất. ...

tháng 8 2, 2015

Glogger - Log viewer tốt nhưng còn một vài điểm

Nói đến editor, ai cũng nghĩ đến Notepad++. Sakura (JP thôi), hay gì gì đó. Ừ thì đúng Notepad++ rất nhiều tính năng, rất nhanh, rất nhẹ. Nhưng gần đây tôi phát hiện ra điểm yếu của nó, xử lý file lớn của nó rất tệ. Thậm chí nó còn gây mất dữ liệu. Tôi và bạn tôi đã thử với một file khoảng 600MB trở lên thì khó có thể thực hiện một phép copy & paste nào nữa. Nếu có thể thực hiện được đi nữa thì rất dễ gây sai dữ liệu hoặc mất dữ liệu. ...

tháng 7 28, 2015

Thêm chức năng giao tiếp bằng telnet cho ứng dụng?

Hôm nay mình có gợi ý ông leader về việc sử dụng giao diện telnet để giúp ứng dụng giao tiếp tốt hơn với bên ngoài. Thì ông ấy hỏi : “Mày làm nó bao giờ chưa? Không đủ time đâu. Nghĩ cũng đúng, mình thấy có thể làm thôi chứ chưa đo time để làm cái đó.” Vậy thì thử xem sao: Tôi dự định sẽ thêm tính năng giao tiếp bằng telnet cho một ứng dụng chát. ...

tháng 7 28, 2015

Nếu wireshark trên Windows gặp lỗi, hãy thử dùng dumpcap

Wireshark, một phần mềm quá phổ biến để phân tích gói tin cho dù là có dây hay không dây, 1 dây hay 2 dây, tất tần tật. Gì em nó cũng làm được. Wireshark vốn đuợc phát triển cho Solaris và Linux. Và thư viện đồ họa hiện đang sử dụng là gtk. Gtk là vốn là thư viện đựoc phát triển từ dự án GIMP ( GNOME Graphic Toolkit). Và nó được phát triển cho hệ điều hành Linux. Giống như bao chương trình dạng của Unix khác, ban đầu chúng đều chạy ở chế độ dòng lệnh. Do được nhiều người sử dụng nên họ viết GUI cho nó. Và cũng giống hầu hết các siêu tool khác như emacs, glade…etc. Chúng đuợc port sang Window bằng cách sử dụng các bản build cho Window của thư viện gtk và các thư viện liên quan. Độ ổn định của gtk và các thư đồ họa nền Linux mà Wireshark đang sử dụng là quá tuyệt vời só với các tool đuợc porting khác rồi. Nhưng không phải lúc nào cũng muợt mà. Nó vẫn có thể gặp lỗi liên quan đến mấy thư viện này. Phần đa các lỗi liên quan đến một loạt thư viện dll đuợc porting sang Windows từ Linux. Mà thường những lỗi này sẽ dấn đến crash chưong trình ngay, khỏi chạy gì nữa. ...

tháng 7 28, 2015

Cơ bản về pthread

Ngày trước, khi tìm hiểu về Java, rồi Qt, nghe đến thuật ngữ đa nền (multi-platform). kì thực cái multi platform đó sẽ được phát triển như thế nào. Nó có thực sự dễ dàng như họ quảng cáo? Họ thường quảng cáo rằng, chỉ cần thay đổi cấu hình bằng một vài click chuột thì có thể build lại một dự án bất kì của Qt từ OS này sang OS khác. ...

tháng 7 16, 2015