BÀI 01 : HƯỚNG DẪN TẠO PROJETC STM32 VỚI KEIL V5.


  1. Những phần mềm cần thiết cần cài đặt:
    • Đã cài Keil V5 trên máy tính và crack.
    • Đã cài đặt đầy đủ thư viện chuẩn họ MCU sử dụng.
    • Đã cài đặt driver cho stlink(Nếu sử dụng stlink).
    • Đã tải datasheet liên quan của MCU sử dụng.

    Các phần mềm này mình đã để link ở dưới.

  2. Tạo thư mục tên GPIO(tên này tùy ý) và 2 thư mục con trong thư mục GPIO với tên như sau :

    • Lib: chứa thư viện chuẩn của nhà sản xuất.
    • Project: chứa file viết code, ngắt và các file tạo ra khi chạy chương trình. Tạo thư mục con keil trong thư mục project(thư mục này sẽ chứa các file sinh ra khi biên dịch chương trình).

  3. Copy các file cần thiết vào trong thư mục GPIO:

    • Copy 2 thư mục CMSIS và STM32F10x_StdPeriph_Driver trong đường dẫn STM32F10x_StdPeriph_Lib_V3.5.0\Libraries trong file STM32F10x_StdPeriph_Lib_V3.5.0 vào thư mục lib. File này mình đã đính kèm ở dưới.
    • Copy các file main, stm32f10x_conf, stm32f10x_it.c, stm32f10x_it.h, system_stm32f10x vào thư mục project với đường dẫn là STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template trong file STM32F10x_StdPeriph_Lib_V3.5.0.

  4. Khởi động keil c lên để bắt đầu tạo project mới

    1. Chọn Project -> New Uvision project. Trỏ đến thư mục keil trong thư mục GPIO vừa tạo đặt tên project là GPIO(tên này tùy ý) -> bấm Save.
    2. Cửa sổ mới được mở ra để cho chúng ta chọn chip. ở đây mình sử dụng stm32f103c8t6 nên sẽ chọn MCU là STM32F103C8 ->nhấn OK.
    3. Cửa sổ manage run hiện ra. Chọn OK để kết thúc.

    4. Mở cửa sổ manage project items bằng cách kích vào biểu tượng hoặc vào đường dẫn sau : project -> manage -> project items. Chỉnh sửa tên projects target và groups bằng tên tùy ý hoặc như trong hình. Add các file đã copy ở lúc đầu vào các groups. Chú ý là lib chứa các file thư viện và user chứa các file chương trình.
      • Groups lib chứa các file: core_cm3.c;misc.c;stm32f10x_gpio.c;stm32f10x_rcc.c; startup_stm3210x_md.s.
      • LƯU Ý:

        • File core_cm3.c nằm trong đường dẫn GPIO\lib\CMSIS\CM3\CoreSupport.
        • File startup_stm3210x_md.s nằm trong đường dẫn GPIO\lib\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm và lưu ý là đuôi md.s hay hd.s tùy thuộc vào loại MCU mà ta sử dụng. Đuôi file này là đuôi .s nên files of type phải để là all files.
        • File misc.c;stm32f10x_gpio.c;stm32f10x_rcc.c nằm trong thư mục GPIO\lib\STM32F10x_StdPeriph_Driver\src. Nếu sử dụng UART hay ADC… thì cần phải add thêm các thư viện đó cũng nằm trong thư mục này.
      • Groups user chứa các file sau: main.c;stm32f10x_it.c; system_stm32f10x.c.
      • LƯU Ý: các file này đã được copy và nằm trong đường dẫn: GPIO\project

    5. Vào tab options for target bằng cách click vào biểu tượng hoặc đường dẫn sau project -> Options for target. Chỉnh sửa các tab theo các bước sau:
      • ở tab options : trong thẻ Device kiểm tra MCU đã chọn là đúng loại MCU mình sẽ sử dụng hay chưa.
      • ở tab target click vào ô Use microLIB.
      • ở tab C/C++ thêm dòng chữ và add các link giống như hình.
      • LƯU Ý: hàng chữ STM32F10X_MD tùy thuộc vào dòng STM32 sử dụng, tùy thuộc vào bộ nhớ mà có các kí hiệu LD, MD, HD… khác nhau. Các bạn có thể tìm hiểu trong reference manual trang 158 trong phần GPIO.

      • ở tab debug chọn st-link debug nếu bạn sử dụng mạch nạp st-link, chọn các ô tương ứng nếu dùng debug.
      • ở tab Utilities click setting.
      • Thẻ flash download chọn reset and run.

        Thẻ debug chọn Port : SW và thấy đã nhận stlink (ở đây mình sử dụng mạch nạp stlink V2).

    6. Mở file main lên và xóa hết nội dung, chỉ chừa lại nội dung như trong hình.
    7. Kích vào biểu tượng build nếu build ở lần đầu tiên và rebuild(phím tắt là F7) cho các lần tiếp theo. Xem kết bảng thông báo build output nếu không xuất hiện 0 lỗi tức là đã thành công.
    8. Khi nạp code thì bạn chỉ cần nhấn vào biểu tượng Load hoặc vào Flash->Load Phím tắt là F8. Chúc các bạn thành công.

      Thư viện, phần mềm, datasheet các bạn có thể tự download trên trang chủ chủ nhà sản xuất, tuy nhiên mình đã tổng hợp tất cả những gì mình đang sử dụng và để link ở dưới.

Link tải phần mềm Keil và package Link tải thư viện chuẩn cho STM32F1 Link tải driver stlink V2 Link tải datasheet và reference manual Link tải chương trình mẫu mình đã tạo