Quả thật, trước giờ em có 1 quan niệm thế này, mình đã học được cái gì thì tận dụng nó để phục vụ cho mục đích của mình cái đã, không nên học lang man nhảy từ cái này sang cái kia, cốt là biết cái nào thì tường tận và tận dụng hết ưu thế của cái đó. Thế cho nên học PIC thì em chỉ học mỗi CCS C, vì em nghĩ CCS C là quá đủ đối với những thiết kế tầm cỡ "em" rồi. Thế nhưng, sau một đêm ngồi các bài viết của các đại cao thủ bqviet, F về Core Linux và Ubuntu, em cũng có hơi tò mò, thế là cái cái Vista không làm ăn được gì của em bằng cái Ubuntu 8.04. Em bắt đầu nhảy vào 1 thứ hoàn toàn mới - Linux
Wow, thật sự rất ngạc nhiên vì khả năng của Ubutu (em khoái nhất là cái hiệu ứng "kẹo dẻo" của nó ) Cái gì cũng miễn phí, cũng xài okie cả, đặc biệt là việc cập nhật các phiên bản phần mềm đi kèm, cài đặt các phần mềm mới, hoàn toàn đơn giản với Synaptic Packge Manager, và một điều đặt biệt, đó là Wine, có thể chạy được khá nhiều các file EXE của Windows, (em còn cài được cả cái Proteus yêu thích vào đấy ạ ). Ah, còn 1 thứ nữa, em chẳng phải lo gì đến virút, viriết gì cả, cái này mà ở Windows, mấy ông AVG, Kavs mà chạy thì phải biết, nên cái máy của em nó ít "nóng" hơn đấy ạ
Tuy nhiên, cái điều mà em thật sự quan tâm ở Ubuntu là MỞ, bởi vì nếu sử dụng Ubuntu mà mà lôi theo mấy cái phần mềm có license thì đúng thật là ở lại với Windows còn hơn, nhưng mà cũng phải nói lại, là trên Ubuntu mà khi cần các ứng dụng quen thuộc bên Windows thì phải restart lại máy cũng quả là chán, nên trong quá trình "quá độ" này, WINE thật sự lợi hại và cần thiết.
Vậy là sau khi tham khảo bài viết của các bác em đã chọn cho mình một list các phần mềm điện tử trên Ubuntu, nó như sau các bác:
Còn mấy cái phần mềm hỗ trợ mạng, đồ hoạ, multimedia thì không phàn nàn vào đâu được.
Tuy nhiên, vì mới đầu sử dụng Ubuntu, nên em không biết nhiều lắm, và em nghĩ, bác nào cũng vậy thôi, cho nên để tiện lợi, những cái em đã làm được, em sẽ POST lên cho bác nào chưa biết thì tham khảo.
Lúc đầu em tính dùng CodeBlocks kết hợp với SDCC, vì nó hỗ trợ cho cả PIC, MCS51, AVR, Z80..., nhưng mà vọc mãi cũng không tìm ra cách truyền tham số từ CodeBlocks cho SDCC, nên thôi, em bắt đầu với PikLad đơn giản hơn, vì đơn giản là nó đã được cài đặt sẵn cho PIC rồi.
Việc cài đặt SDCC, PikLad, gpsim thì cực kỳ đơn giả với Synaptic rồi, các bác cứ vào [System->Administrator->Synaptic Packge Manager] rồi ấn Ctrl+F để mở hộp thoại tìm kiếm, gõ tên của 3 cái phần mềm trên rồi Apply là okie thôi, nhớ cắm cáp mạng vào nhé
Sau khi có đầy đủ 3 phần mềm rồi, chúng ta bắt đầu làm việc nhé. Đầu tiên, mở PikLad lên, tạo mới 1 Project [Project-> New Project] với các thông số như tên, đường dẫn, loại Chip, đường dẫn project của em là [/home/minhtuan04/Documents/PIC/Hello] tên Project là [helloUbuntu], và toolchain là [Small Device C Complier], xem hình nhé
Next + Finish
Và viết đoạn mã test , sau đó nhấn vào cái nút build:
Tiếp theo, cần mô phỏng các bác nhỉ, khởi động Terminal, thứ thự thì theo menu, còn nhanh thì nhấn [ALT+F2] mở cửa sổ Run Application, gõ và gnome-terminal là nó ra ngay, gõ lần lược các dòng lệnh để chuyển về thư mục cần mô phỏng, và mô phỏng
Hình ảnh sau khi khởi động và chạy mô phỏng
Cái PortB nó nhấp nháy cũng vui các bác nhỉ
Wow, thật sự rất ngạc nhiên vì khả năng của Ubutu (em khoái nhất là cái hiệu ứng "kẹo dẻo" của nó ) Cái gì cũng miễn phí, cũng xài okie cả, đặc biệt là việc cập nhật các phiên bản phần mềm đi kèm, cài đặt các phần mềm mới, hoàn toàn đơn giản với Synaptic Packge Manager, và một điều đặt biệt, đó là Wine, có thể chạy được khá nhiều các file EXE của Windows, (em còn cài được cả cái Proteus yêu thích vào đấy ạ ). Ah, còn 1 thứ nữa, em chẳng phải lo gì đến virút, viriết gì cả, cái này mà ở Windows, mấy ông AVG, Kavs mà chạy thì phải biết, nên cái máy của em nó ít "nóng" hơn đấy ạ
Tuy nhiên, cái điều mà em thật sự quan tâm ở Ubuntu là MỞ, bởi vì nếu sử dụng Ubuntu mà mà lôi theo mấy cái phần mềm có license thì đúng thật là ở lại với Windows còn hơn, nhưng mà cũng phải nói lại, là trên Ubuntu mà khi cần các ứng dụng quen thuộc bên Windows thì phải restart lại máy cũng quả là chán, nên trong quá trình "quá độ" này, WINE thật sự lợi hại và cần thiết.
Vậy là sau khi tham khảo bài viết của các bác em đã chọn cho mình một list các phần mềm điện tử trên Ubuntu, nó như sau các bác:
- Vẽ mạch in bằng KiCad, thay thế cho Orcad ở Windows
- Lập trình cho PIC bằng IDE PikLab với trình biên dịch SDCC thay thế cho CCS C
- Lập trình cho MCS51 sử dụng SDCC thay thế cho uC
- Mô phỏng cho PIC sử dụng gpsim, thay thế cho Proteus
- QT cho các ứng dụng trên Ubuntu thay thế cho M$VS
- Openoffice.ORG thay thế cho M$ Office
- Chỉ có Võ lâm truyền kỳ là em phải dùng Wine thôi he he
- ...
Còn mấy cái phần mềm hỗ trợ mạng, đồ hoạ, multimedia thì không phàn nàn vào đâu được.
Tuy nhiên, vì mới đầu sử dụng Ubuntu, nên em không biết nhiều lắm, và em nghĩ, bác nào cũng vậy thôi, cho nên để tiện lợi, những cái em đã làm được, em sẽ POST lên cho bác nào chưa biết thì tham khảo.
Lúc đầu em tính dùng CodeBlocks kết hợp với SDCC, vì nó hỗ trợ cho cả PIC, MCS51, AVR, Z80..., nhưng mà vọc mãi cũng không tìm ra cách truyền tham số từ CodeBlocks cho SDCC, nên thôi, em bắt đầu với PikLad đơn giản hơn, vì đơn giản là nó đã được cài đặt sẵn cho PIC rồi.
Việc cài đặt SDCC, PikLad, gpsim thì cực kỳ đơn giả với Synaptic rồi, các bác cứ vào [System->Administrator->Synaptic Packge Manager] rồi ấn Ctrl+F để mở hộp thoại tìm kiếm, gõ tên của 3 cái phần mềm trên rồi Apply là okie thôi, nhớ cắm cáp mạng vào nhé
Sau khi có đầy đủ 3 phần mềm rồi, chúng ta bắt đầu làm việc nhé. Đầu tiên, mở PikLad lên, tạo mới 1 Project [Project-> New Project] với các thông số như tên, đường dẫn, loại Chip, đường dẫn project của em là [/home/minhtuan04/Documents/PIC/Hello] tên Project là [helloUbuntu], và toolchain là [Small Device C Complier], xem hình nhé
Next + Finish
Và viết đoạn mã test , sau đó nhấn vào cái nút build:
PHP Code:
/* ----------------------------------------------------------------------- */
/* Template source file generated by piklab */
#include <pic16f877a.h>
/* ----------------------------------------------------------------------- */
/* Configuration bits: adapt to your setup and needs */
typedef unsigned int word;
word at 0x2007 CONFIG = _RC_OSC & _WDT_ON & _PWRTE_OFF & _BODEN_ON & _LVP_ON & _CPD_OFF & _WRT_OFF & _DEBUG_OFF & _CP_OFF;
void isr() interrupt 0 { /* interrupt service routine */
/* << insert interrupt code >> */
}
void delay_ms() {
unsigned int j, i;
for(i=0; i<120; i++)
for(j=0; j<1000; j++);
}
void main() {
/* << insert code >> */
TRISB = 0x00;
while(1) {
PORTB = 0xFF;
delay_ms();
PORTB = 0x00;
delay_ms();
}
}
Tiếp theo, cần mô phỏng các bác nhỉ, khởi động Terminal, thứ thự thì theo menu, còn nhanh thì nhấn [ALT+F2] mở cửa sổ Run Application, gõ và gnome-terminal là nó ra ngay, gõ lần lược các dòng lệnh để chuyển về thư mục cần mô phỏng, và mô phỏng
PHP Code:
cd -L Documents/PIC/Hello
gpsim -pp16f877a -s helloUbuntu.cod helloUbuntu.asm
Cái PortB nó nhấp nháy cũng vui các bác nhỉ
Comment