Caách cài gcc trên linux

MinGW là một phần mềm mã nguồn mở, một trình biên dịch ngôn ngữ C/C++ trên Windows. Nó tương tự như JavaScript Engine khi lập trình JavaScript/Node.js hay JDK khi lập trình Java.

Ví dụ khi bạn lập trình C/C++ trên file .c hay .cpp sau đó MinGW sẽ chuyển file .c/.cpp đó thành file binary code để cho máy tính có thể hiểu và chạy được.

Ngoài MinGW ta có một số trình compiler C/C++ khác trên Windows như CygWin, Turbo C++, Borland C++ … Tuy nhiên, hiện tại mình thấy MinGW rất được ưa chuộng.

Với hệ điều hành Linux [Ubuntu] thì bạn không cần phải cài đặt thêm trình compiler C/C++ nào nữa. Vì Linux đã tích hợp sẵn trình compiler GCC để lập trình C/C++ rồi.

Với MacOS, để lập trình C/C++ thì bạn cài đặt X Code

2. Download và cài đặt MinGW

Các bạn truy cập trang chủ của MinGW để download file cài đặt [hoặc download trực tiếp tại đây và giải nén ra]

Click đúp vào file .exe vừa tải về

 

Phần package thì mình chọn phần Basic Setup và cài đặt tất cả các package.

[Bạn có thể cài thêm một số package ở phần All Packages, tuy nhiên mới đầu học lập trình C/C++ thì chưa cần. Hoặc bạn cũng có thể cài đặt hoặc gỡ bỏ package sau khi cài đặt MinGW với lệnh mingw-get]

Kết quả sau khi các package đã được cài đặt.

Tiếp theo, thêm thư mục vừa cài đặt MinGW vào biến môi trường của Windows [để bạn có thể chạy lệnh compiler gcc ở bất kỳ folder nào]

Mở My Computer , click chuột phải vào khoảng trống và chọn Properties

Chọn Tab Advanced và click Enviroment Variables

Click vào phần Path và chọn Edit

Click New và thêm folder bin của thư mục cài MinGW sau đó click OK.

[Bên trên mình cài MinGW ở C:\MinGW nên thư mục bin sẽ là C:\MinGW\bin]

Kiểm tra xem cài đặt MinGW thành công chưa bằng cách kiểm tra version gcc bằng lệnh gcc --version

Quản lý package với mingw-get

Sau khi cài đặt MinGW thành công. Bạn có thể sử dụng lệnh mingw-get trên cửa sổ cmd để mở màn hình quản lý các package của MinGW.

- Cài đặt trình biên dịch chéo GCC [Cross Compiler arm-linux-gcc] trên máy tính Linux [Ubuntu]. Trình biên dịch chéo cho phép biên dịch ứng dụng viết bằng ngôn ngữ C chạy trên nền tảng chip ARM [KIT FriendlyArm mini/macro 2440 với hệ điều hành Linux nhúng].

- Thực hành biên dịch chương trình và nạp chương trình xuống KIT để thực thi.

2. Chuẩn bị:

- PC cài đặt Linux [Ubuntu]

- Bộ KIT thực hành FriendlyArm mini/macro2440

- Dữ liệu: File nén trình biên dịch chéo Cross GCC version 4.4.3 [arm-linux-gcc-4.4.3.tar]

3. Cài đặt trình biên dịch chéo arm-linux-gcc:

3.1. Cài đặt trình biên dịch chéo Cross GCC trên máy tính Linux

Bước 1. Chuyển đến thư mục chứa file nén arm-linux-gcc-4.4.3.tar.gz và tiến hành giải nén bằng lệnh:

tar –zxvf arm-linux-gcc-4.4.3.tar.gz

Kết quả giải nén được thư mục chứa trình biên dịch có đường dẫn như sau: opt/FriendlyARM/toolschain/4.4.3/bin

- Nên copy thư mục FriendlyARM [chứa trình biên dịch đã giải nén] đặt trong thư mục /opt  của File System trên máy tính Linux.Vị trí để trình biên dịch chéo là không bắt buộc, tuy nhiên thường chứa trên thư mục /opt để thuận tiện cho các công việc tiếp theo.

Bước 2. Cập nhật biến môi trường PATH cho trình biên dịch chéo

- Mục đích: Cập nhật biến môi trường của Linux OS cho trình biên dịch chéo để có thể sử dụng trực tiếp ở mọi nơi [Gọi lệnh trên các cửa sổ lệnh mà không cần chuyển đến thư mục chứa]

- Thực hiện:

Mở file ~/.bashrc bằng trình soạn thảo thích hợp [gedit, vi, vim, …]. [Chú ý: file nằm trong thư mục tương ứng của người dùng, ví dụ /home/thuan. Mặc định bị ẩn].

Thêm 1 dòng vào cuối file .bashrc

PATH=$PATH:[Đường dẫn tới thư mục bin của arm-linux-gcc]

 VD: PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

            Lưu và đóng file .bashrc. Sau khi thiết lập biến môi trường cần tắt cửa sổ terminal, mở cửa sổ mới để thiết lập có hiệu lực.

Bước 3. Kiểm tra kết quả thiết lập bằng cách gõ lệnh: arm-linux-gcc --version.  Thông báo về phiên bản của trình biên dịch chéo arm-linux-gcc sẽ hiện ra.

Chú ý: Nếu khi gõ lệnh arm-linux-gcc --version không ra phiên bản của arm-linux-gcc thì có thể kiểm tra lại biến môi trường PATH bằng lệnh echo $PATH

3.2. Cài đặt và sử dụng phần mềm gFTP.

- Để nạp file chương trình [đã biên dịch trên máy tính bằng trình biên dịch chéo] lên KIT, chúng ta sử dụng kết nối Ethernet [cable LAN] giữa máy tính và KIT [target] bằng phần mềm gFTP [phần mềm giao tiếp truyền file trên Linux/Ubuntu].

Bước 1. Cài đặt gFTP

- Thông thường gFTP đã được cài đặt sẵn trên Ubuntu [Mở Application/Internet/gFTP]

Nếu chưa có, có thể cài đặt từ internet dùng lệnh:

sudo apt-get install gftp

Bước 2. Cấu hình cổng LAN trên máy tính Linux

KIT FriendlyArm có địa chỉ IP mặc định là 192.168.1.230, netmask: 255.255.255.0

Do vậy để kết nối cable LAN giữa máy tính PC và KIT [target] cần cấu hình để máy tính có cùng giải địa chỉ này. Thực hiện lệnh ifconfig cấu hình cho ethernet interface [eth0]

$sudo ifconfig eth0 192.168.1.30 netmask 255.255.255.0 up

Sử dụng lệnh ifconfig eth0 để kiểm tra lại xem eth0 đã có địa chỉ IP cùng giải.

Bước 3. Thực hiện kết nối giữa Host [máy tính Linux] và Target [KIT] dùng gFTP

·        Mở phần mềm gFTP: Applications->Internet->gFTP

·        Thiết lập các tham số

o   Địa chỉ IP của KIT: 192.168.1.230

o   Username: root

o   Password: ktmt [có thể đổi bằng lệnh passwd]

·        Mở kết nối [Click nút Open connection]

o   Cửa sổ bên trái là cây thư mục trên máy phát triển [máy HOST]

o   Cửa sổ bên phải là cây thư mục trên kit [Target]

- gFTP cung cấp chức năng duyệt/chuyển thư mục [hệ thống file trên KIT], và truyền/nhận file giữa Host và KIT.

4. Thực hành viết chương trình, biên dịch và nạp lên KIT

4.1. Viết mã nguồn chương trình Hello

- Dùng trình soạn thảo mã nguồn thích hợp [ví dụ: gedit].

- Soạn thảo file mã nguồn C như sau [Chương trình có tính chất minh họa]

#include

int main [int argc, char* argv[]]

{

        printf [“Ten chuong trinh la ‘%s’.\n”, argv[0]];

        printf [“Chuong trinh co %d tham so \n”, argc - 1];

        /* Neu co bat cu tham so dong lenh nao*/

        if [argc > 1] {

               /* Thi in ra*/

               int i;

               printf [“Cac tham so truyen vao la:\n”];

               for [i = 1; i < argc; ++i]

               printf [“ Tham so %d: %s\n”, i, argv[i]];

        }

        return 0;

}

- Lưu file mã nguồn Hello.c

4.2. Biên dịch file mã nguồn sử dụng trình biên dịch chéo

Cách 1. Sử dụng lệnh của trình biên dịch chéo.

- Chuyển đến thư mục chứa file mã nguồn Hello.c đã có.

- Biên dịch bằng lệnh:

arm-linux-gcc  –g  –o Hello  Hello.c

- Kết quả biên dịch là file thực thi trên arm linux [File Hello] có khả năng debug.

[Có thể kiểm tra thuộc tính của file này sử dụng lệnh file của Linux].

Cách 2. Tạo và sử dụng Makefile

- make là một tool cho phép quản lý quá trình biên dịch, liên kết … của một dự án với nhiều file mã nguồn.

- Tạo Makefile lưu các lệnh biên dịch theo định dạng của Makefile

CC=arm-linux-gcc

all:Hello.c

         $[CC] –g –o Hello Hello.c

PATH=$PATH:[Đường dẫn tới thư mục bin của arm-linux-gcc]0

PATH=$PATH:[Đường dẫn tới thư mục bin của arm-linux-gcc]1

- Makefile đặt tại cùng thư mục với các file mã nguồn. Sử dụng lệnh make để chạy Makefile và biên dịch chương trình

·        make all: biên dịch chương trình

·        make clear: xóa file thực thi đã biên dịch

4.3. Nạp chương trình đã biên dịch xuống KIT

Sử dụng phần mềm gFTP chuyển file Hello [đã được biên dịch trước đó] xuống KIT, ví dụ xuống thư mục: /ktmt/bin

4.4. Thực thi chương trình trên KIT

- Để thực thi chương trình trên KIT, thực hiện telnet tới KIT. Dùng lệnh:

login với tài khoản:

Username: root

Password: ktmt

- Trên KIT, di chuyển đến thư mục chứa chương trình chạy [/ktmt/bin], thực hiện chương trình: Ví dụ ./Hello

- Chú ý: Kiểm tra quyền đối với file, dùng lệnh ls –al. Chương trình có thể chưa có quyền thực thi, dùng lệnh cấp quyền: chmod +x Hello

Chủ Đề