Hi.Có bác nào dùng thử cái FreeRTOS for AVR chưa. Mình không hiểu nó có vấn đề gì kô, nhưng việc khai báo các biến cục bộ có vẻ có vấn đề. Có lúc khai báo một mảng local khoảng 200 byte rồi del =0 hết thì chương trình cũng treo luôn. hình như cái winavr sử dụng biến local qua stack hết, thêm vào đó dùng thanh ghi để làm biến rất hạn chế. Thế thì lãng phí wa. Bác nào từg gặp chuối này cùng bàn luận nhé.
Thông báo
Collapse
No announcement yet.
FreeRTOS
Collapse
X
-
Hi! Mình chưa thử dùng FreeRTOS cho AVR bao giờ, nhưng đã từng ứng dụng hệ điều hành này cho vi điều khiển MSP430F1611 (Dùng IAR compiler). Mình nghĩ trường hợp của bạn xảy ra lỗi do kích thước stack quá nhỏ. Bạn thử điều chỉnh lại tham số configMINIMAL_STACK_SIZE trong file FreeRTOSConfig.h xem. Khi bạn tạo ra một task thì FreeRTOS sẽ tạo ra 1 stack, tất cả các biến local, các tham số hàm, các đòi hỏi stack của ngắt... đi theo task đó đều được FreeRTOS đưa vào stack của task. Chính vì vậy nhiều khả năng kích thước stack bạn khai không đủ dùng cho 200 bytes biến local.
Ngày trước mình cũng gặp một số trục trặc liên quan đến bộ nhớ khi dùng con MSP430F149 (chỉ có 2K RAM) nên phải đổi sang con MSP430F1611 (10K RAM). Nếu có thể thì hãy tăng cường dùng biến global để tránh tràn stack.Last edited by Hansa; 29-03-2007, 10:00.
-
nếu sử dụng FreeRTOS các bạn chú ý ràng khi tạo ra 1 task nó ngốn hết 60 bytes TCB + configMINIMAL_STACK_SIZE, do vậy với những task phức tạp bạn kô sdung configMINIMAL_STACK_SIZE nữa mà tự đặt độ lớn. Chú ý thêm rằng idle task cũng ngốn ram như những task khác. Một vấn đề của việc phân bổ lượng ram cho task không hợp lý sẽ dẫn đến tràn stack. Tốt nhất là cứ đặt to ra. Với công việc thông thường cỡ trung bình cũng ngốn hết khoảng 3K ram. Tốt nhất khi thiết kế phải có 1 cái đèn status, nếu nó stop thì các bạn nghĩ ngay đến tràn stack.! ! you can win if you want ! !
Comment
-
Dùng WinAVR free hay hơn. AVRStudio cài lên đã có đủ luôn rồi(compiler+rtos+libc). Vấn đề lớn nhất vẫn là phân phối ram hợp lý vì ta có xu hướng gọi hàm quá sâu, dùng biến local lớn. Một số ứng dụng kiểu vừa có menu, LCD, lại vừa điều khiển chạy đồng thời thì dùng FreeRTOS chạy trên ATMEGA64/128 là rất tuyệt vời. Mình làm phần đk cho máy ép nhựa bằng 1 con ATMEGA64 thấy khá nhanh. Nên kết hợp với bootloader vì ATMEGA64 có 2 cổng uart.! ! you can win if you want ! !
Comment
-
Bác anhtuan133 có thể cho em hỏi, làm thế nào để viết 1 chương trình lên AVR323,
mình cần phải khai báo như thế nào trong file configRTOS,port.h,và macroport.h.
Bác có thể cho em 1 ví dụ đơn giản về cách tạo ra 4 task ứng với 4 led của 4 chân ra PC0,...PC3.
Cám ơn bác nhiều
Comment
-
Rtos
Vừa qua có một số bạn hỏi về RTOS, tiện đây mình gửi lên để các bạn có thể sử dụng luôn.
Có 2 bản: bản dầy đủ - FreeRTOS sử dụng cho ATMEGA64/128. Kích thước RTOS khoảng 6kwords. Đã chạy thực tế.
bản nhỏ sửa từ 3iRTOS của Cường quay dùng cho ATMEGA8/16/32. OSC 8MHz internal. Kích thước RTOS khoảng 800words. Đã sửa chữa một số lỗi nhỏ. Đã chạy thực tế. Vì bản 3iRTOS của Cường đã open nên bản này mình cũng đưa lên mà không hỏi ý kiến Cường, thông cảm nhé.! ! you can win if you want ! !
Comment
-
Mình dùng AVRstudio để soạn thảo. Chỉ định dịch bằng compiler ngoài là WinAVR.
Config AVRStudio: Project Option->Custom option->Chọn Use WinAVR->chọn đia chỉ tới WinAVR :C:\AVR\WinAVR\bin\avr-gcc.exe, C:\AVR\WinAVR\utils\bin\make.exe.
Phần Include cũng hơi lằng nhằng nhưng project của mình đã bao gồm cả include rồi.
Dĩ nhiên bạn phải tik vào cái Create Hex File ở General nhé.! ! you can win if you want ! !
Comment
-
Em xin đóng góp 1 ít tài liệu về thời gian thực cho mọi người
http://rapidshare.com/files/11003317...d.analysis.rar
http://rapidshare.com/files/11002215...ed_Systems.rar
http://rapidshare.com/files/110033175/RTOS.rar
http://rapidshare.com/files/10999344..._at_Taiwan.rar
http://rapidshare.com/files/110033176/rtos_concert.rar
http://rapidshare.com/files/11003317...Gatech_Uni.rar
http://rapidshare.com/files/11003317...lasgow_Uni.rar
http://rapidshare.com/files/110033179/RTOS_LUT_Uni.rar
Comment
-
Cho mình hỏi bạn Tuấn có bản RTOS cho atmega8 mà viết bằng codevisionAVR không post lên cho mình với, mình thấy sao WinAVR và Codevision đều dùng C để viết nhưng tại sao không thể lấy code của WinAVR đem qua Codevision dịch được ta, các bạn nào làm bên soft nghĩ cách viết cái chuyển đổi qua lại giữa 2 compiler này đi cho anh em nhờ với.
Comment
-
Chào các bác. Em đang tìm hiểu về HĐH FreeRTOS. Mới là bước đầu nên còn nhiều khó khăn. Em gặp phải một lỗi mà chưa giải quyết được, mong các bác chỉ bảo giúp ạ.
Em đang viết một chương trình đơn giản với RTOS trên chip atmega128 và phần mềm AVRStudio4 ( em đã cài WinAVR 2009). Hiện nay nó báo 4 lỗi mà em chưa biết khắc phục như thế nào. Mong các bác chỉ giúp ạ. Em cảm ơn !!!!
Study1.rar
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi tuyennhanMình tưởng dinhthuong lả kỹ sư điện tử làm ở BD .
Khi mình mới học ngoài mớ lý thuyết cơ bản mấy ông anh không có chỉ gì thêm chỉ nói phân tích suy luận thế nào thì tùy mày nếu tụi tao chỉ mày thì cả đời đừng mơ đến việc...-
Channel: Tâm tình dân kỹ thuật
hôm nay, 08:14 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Cũng xin lỗi cả nhà, mai tôi lại phải bay...
Chỉ nghiên cứu "phân" và "cứt" khác nhau thế nào thôi.
Chờ tôi về rồi nói chuyện tiếp nhé...
Bên kia dùng WECHAT nó khác lắm, mong ae thông cảm.-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 21:38 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Ừ thì về món "phân" tôi học chán rồi.
Vi Phân, Tích Phân, rồi cả Tạ Phân...
Cứ ngẫm nghĩ đi đã, rồi bớt cái ngố đi, rồi ta lại nói chuyện tiếp.
Chứ cứ ngồi một chỗ đấy, ngỏng cái cổ lên...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 21:10 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi mèomướpDạ chú nhat... nghĩ tích cực lên đi ạ. Ai lại cứ suốt ngày động tí là nghĩ người khác có ý đồ xấu, rồi thì thất bại, rồi thì ngỏm củ tỏi... ví dụ như chị hàng xóm nhà cháu thấy phân mấy anh thợ ống nước nhìu nên hông thuê cháu...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 20:56 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Với ý nghĩ đó thì:
- Phương án 1 là đi theo Teo Hẳn! Luôn và ngay!
- Phương án 2 là nghỉ hưu, nếu đủ tuổi.
- Phương án 3: Là tôi gửi trước tiền viếng......-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 20:38 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Yeah. Continuous please...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 20:20 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Cảm ơn bác nhiệt tình góp ý.
Đúng là ĐT quá dở nên diễn đạt câu "I'm going to send you..." theo cách nói hiện tại và của người Việt, vì lúc đó cứ nghĩ là mình còn đang viết từng chữ với ý định là sẽ gửi thư khi viết...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 11:47 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi dinhthuong80Cảm ơn bạn @mèomướp nhé!
Cũng may mà ĐT đây đã xem thớt kia và vẽ sơ đồ mạch và post bài, giờ mới thử vào thớt này. (sơ đồ chắc chắn không tránh khỏi còn vài sai sót như mạch ổn áp 110V lại dùng BJT 100V,... nhưng với người hiểu biết...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 11:09 -
-
Trả lời cho Hỗ trợ tìm linh kiện mạch hạ áp 220V - 110Vbởi iTronXin cảm ơn ae ĐTVN rất nhiều, do điều kiện ko cho phép nên từ trước đến giờ mình chủ yếu tìm hiểu qua sách và tham gia các diễn đàn để bổ sung kiến thức cho thỏa đam mê.
Một lần nữa, xin cảm ơn ae đã hỗ trợ. Chúc ae ĐTVN nhiều sức khỏe.-
Channel: Hướng dẫn tìm thông tin linh kiện
Hôm qua, 10:45 -
-
Trả lời cho Hỗ trợ tìm linh kiện mạch hạ áp 220V - 110Vbởi dinhthuong80OK bác, ĐT xin lỗi tất cả vì chỉ nhìn thoáng thấy phần linh kiện giông giống mạch vào của KĐCS BTL mà không xem kĩ ( nên có nói phải vẽ lại cái mạch đó).
ĐT xin được sửa sai bằng việc vẽ lại sơ đồ mạch của bạn thớt, ít nhiều...-
Channel: Hướng dẫn tìm thông tin linh kiện
Hôm qua, 10:37 -
Comment