Thông báo

Collapse
No announcement yet.

Lỗi khi config cho STM8

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Lỗi khi config cho STM8

    Chào các bác!
    Em cũng mới mò mẫm dòng stm8s giá khá rẻ và nhiều module. Cụ thể em đang code cho STM8S003 bằng STVD của ST và license 1 năm của Cosmic bản 32k.
    hiện tại em khá ức chế với lỗi mỗi khi config thêm 1 ngoại vi nào của nó là nó báo segment .text size overflow (100) theo em đoán thì nó có thể là 1 lỗi tràn stack hay 1 cái gì đó tương tự. Code của em nội dung khá ngắn, nếu chỉ viết code dạng kiểu hàm tự chế ko động chạm tới cấu hình chip thì ko vấn đề gì tuy nhiên cứ thêm ngoại vi là lỗi, cụ thể em chỉ có mỗi GPIO, ADC, TIMER2, CLK, giờ thêm 1 ngoại vi nào là lỗi, muốn thêm vào thì lại phải xóa bớt 1 thằng khác đi, có khi chỉ viết 2 ngoại vi nó cũng báo trong khi code rất rất đơn giản
    Em có tham khảo trên diễn đàn của ST thì chỉ có 1 người khuyên là nên chỉnh memory use từ Short Stack mặc định thành Long Stack nhưng vẫn bị, bác nào biết chỉnh để tránh cái việc tràn này chỉ giúp em ạ
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

  • #2
    Nguyên nhân:
    Lỗi này do code của bạn quá lớn mà nguyên nhân là do Cosmic không tự bỏ những hàm không sử dụng (trong bộ thư viện chuẩn của ST và các thư viện khác do bạn add thêm vào) khi bạn biên dịch chương trình.

    Cách khắc phục:
    1. Nhập chuột phải vào một file .c bất kì trong vùng Workspace. Chọn Setting.
    2. Cửa sổ Project Settings: chọn tab C Compiler.
    3. Chỗ User Defined Options gõ vào +split
    4. OK
    Click image for larger version

Name:	Capture.JPG
Views:	1
Size:	72.5 KB
ID:	1400487
    Chú ý: bạn nên thêm dòng +split vào những file của bộ thư viện chuẩn của ST như: gpio, spi, i2c, flash..... sẽ giúp file hex bạn biên dịch ra có dung lượng nhỏ hơn.

    Comment

    Về tác giả

    Collapse

    mast090 Tìm hiểu thêm về mast090

    Bài viết mới nhất

    Collapse

    Đang tải...
    X