[PSOC] Beginner
Collapse
X
-
Thanks bạn, mình làm dc rồi. Nhưng bạn ơi, bạn đã bao giờ viết code assembly trong Nios II chưa? Mình viết dc và debug Ok, nhưng tự nhiên giờ chỉ có thể debug step by step (quan sát thanh ghi từ từ), còn muốn run luôn 1 lần thì ......ko dc. Hay nói cách khác, mình mà nhấn "RUN" là nó chạy 1 lèo , và sau khi "run" xong thì mọi thanh ghi cũng "biến mất", làm mình chẳng quan sát dc kết quả gì cả
-
Ủa, mình xài bình thường mà bạn, mình down mấy project trên mạng về, mở IDE ra, chọn switch workspace chỉ đến chỗ vừa down về, sau đó import ngay cái đó luôn, có bị sao đâu, bạn thử lại coi.
Leave a comment:
-
hic, workspace của mình ở ổ C, các project ở ổ D, và mọi chuyện đều tốt đẹp với các project dc tạo ra và không đổi (tên hay đường dẫn). bây giờ thì ko biết sao mà đem báo cáo với thầy đây, copy project qua usb rồi đưa vô máy trường thì làm sao mà Nios II ở máy trường nó biết cho dc
Leave a comment:
-
Mình cũng bực mình cái IDE này nhất vụ open project đó. Bạn thử File/SwithWorkspace sang thư mục khác rồi import thử coi. À mà nếu ko còn mấy cái file dạng có dấu "." ở đầu tên file thì có thể ko mở dc đâu.
Leave a comment:
-
Thanks nhiều lắm.Sau này có gì lại mong các bạn cùng nhau giải đáp. hihi
---------------
Hi, có 1 câu hỏi "rất chuối" nhưng mình phải hỏi. Giả sử làm xong, copy project của mình sang chỗ khác (sang máy khác hay sang thư mục khác chẳng hạn) thì làm sao mở project từ Nios II IDE . Vì hình như cái lệnh "open project" chỉ áp dụng cho project nào đang bị đóng nhưng vẫn "có mặt" trong cửa sổ "Nios C/C++ project". Còn project ko có sẵn trong cửa sổ đó thì sao (mới copy sang thì làm sao mà có trong Nios dc), mình cũng đã dùng lệnh "import " nhưng hình như tên project của mình mà lỡ trùng với cái nào đã có sẵn thì cũng ko dc( mà chuyện trùng tên project nhiều khả năng xảy ra, ví dụ như như khi bạn copy project từ D:\ sang E:\ , vậy thì chỉ có cái trong D là có sẵn trong "Nios C/C++ project", còn cái ở E thì phải import, nhưng nó ko cho vì tên project y chang nhau !!!)Last edited by phuongdua; 23-03-2010, 12:33.
Leave a comment:
-
Ủa, mình nhớ là đâu có cần include nó đâu, IDE tự động nhận cái đó mà, bạn vô properties của hello_word, phần project reference xem đã check vào cái hello_word_sys_lib chưa.
Còn cái base address thì theo mình hiểu ko phải là vùng nhớ trên ram mà là ko gian nhớ của con CPU, thể hiện nó chiếm địa chỉ bắt đầu từ đâu, bạn hình dung là con cpu trần trụi chưa có ngoại vi gì hết, sau đó bạn đem các cục ngoại vi ghép vô, giả sử cái onchipmem có 4k byte, tức là nó cần 4096 địa chỉ của cpu, bạn có thể gán 4096 địa chỉ này vào bất cứ chỗ nào bạn muốn, giả sử là từ 1024-5119 đi, khi đó thì 1024 chính là base adr, còn 4096 là range. Bạn có thể đọc thêm ở sách Vi xử lý của thầy Mỹ BKHCM, phần thếit kế hệ vxl.
Cái #define mình bị sai, đúng là ko có ;
Leave a comment:
-
Mình đã tìm thấy , nhưng ko biết cách nào để include nó đây, chẳng lẽ copy nó vào thư mục hello_world?
_Quay lại với khái niệm base address, mỗi thiết bị ngoại vi dc phân cho 1 vùng nhớ, vậy "vùng nhớ đó" ở đâu? nó là vùng nhớ dc cấp phát trên Ram on chip memory ( trong trường hợp này ) phải ko?
Leave a comment:
-
Ý bạn là ko tìm thấy system.h?, bạn thử tìm trong cái hello_word_sys_lib, phần system_description xem,ở cây thư mục bên trái của Nios IDE ấy.
Leave a comment:
-
Thanks all. Cái lỗi trên thật ra mình giải quyết = 2 bước (do thiếu Ram thật
)
1. phải chuột lên Hello_World --> system library Properties--> check các ô "reduce C......" để thu gọn thư viện chương trình lại và ko tốn nhiều Ram
2. sửa Ram (Memory on chip) lên 32 KB ( hồi trước theo Tut để 4KB, Tut nó xài Altera Monitor nên ko sao, còn mình xài Nios II IDE với project Hello_World khá nặng nên ko đủ. Hihi
Thật ra mình biết viết C nhưng là do toàn viết C trên các trình biên dịch "bình thường" nên có đôi chút thắc mắc khi viết C kiểu này, mình thấy Led hay Switch trong vd trước đều có khai địa chỉ Base nên cứ nghĩ viết C trong đây ko dc tự tiện đặt biến .
@ it4rb : trong code của bạn, dòng define đầu tiên theo mình phải là
(không chấm phẩy và ko có dấu "=" ??? Vì cũng khá lâu mình ko viết nên muốn check lại).ThanksCode:#define num_len 8
_ Nhưng file system. h thì tới giờ trong vd trước mình cũng ko thấy đâu, biên dịch thành công nhưng chẳng thấy tăm hơi file này đâu cả, nên phải copy base address vào code C. Hic. Các bạn có ai biết vụ này là sao ko?Last edited by phuongdua; 23-03-2010, 18:38.
Leave a comment:
-
Trong C thì bạn dùng một biến như thanh ghi thôi, chẳng hạn int i=01101110b (8bits), rồi cũng dùng các phép dịch bit và so sánh để đếm số bit 1, mình ghi tạm cái mã đây nhá:
Chưa test nên ko biết đúng sai thế nào.Code:#define num_len=8; //số 8bits unsigned int num=15; int num_1=0; //số bit 1 for (i=0;i<num_len;i++) { if(num%2!=0)//bit ngoài cùng bên phải là 1 num_1++; num=num>>1; }
Còn nếu bạn làm việc với các khối ngoại vi như thì có các hàm riêng, ví dụ như nếu bạn dùng uart để xuất lên console thì có thể khai báo stdout, stderr là uart, sau đó dùng các hàm printf bình thường, hoặc bạn muốn xuất nhập data ra/vào PIO thì dùng IOWR, IORD...Nói chung là bạn nên tìm 2 cuốn về Nios của Altera, hình như một cuốn là giới thiệu kiến trúc, còn cuốn kia là Software developer's handbook thì sẽ rõ hơn.
Còn cái BASE_ADDRESS có phải là cái khi dùng SOPC builder bạn cho nó gán tự động ko? Nếu vậy thì bác Jeff trả lời rồi đó. Khi giao tiếp với ngoại vi dạng PIO bạn phải biết địa chỉ này (thường nằm trong system.h đối với Nios IDE) để dùng các hàm IOWR, IORD...
Leave a comment:
-
C là ngôn ngữ cao hơn Assembly. Trong C, việc dùng thanh ghi nào được giao cho Compiler phụ trách. Trong C, người ta khai báo biến (variable) và sử dụng. Quan trọng nhất của biến là kiểu (datatype), quyết định biến này sẽ nằm trong bộ nhớ như thế nào.
Ví dụ kiểu character, chiếm 1 byte, kiểu short: 2 byte, kiểu integer: 4 byte.
.......
Bạn tìm hiểu thêm về ngôn ngữ C trước... mình tin là trên internet có khá nhiều.
Ngôn ngữ C cao hơn và hỗ trợ các construct gần gũi với thuật toán hơn: if else, while, for ... thay vì phải dùng Compare/Jump như trong assembly.
------
Không chắc SYSTEM_BASE_ADDRESS của bạn nghĩa là gì. Có thể bạn thắc mắc cái này:
Trong computer organization, một khái niệm quan trọng là Memory mapped peripheral, mỗi một ngoại vi được phân (allocate) cho một vùng nhớ gồm có BASE và RANGE. Trong khi thiết kế SOPC, bạn sẽ thấy mỗi ngoại vi được phân địa chỉ đầu và cuối (START ADDRESS và END ADDRESS). Khi CPU ghi vào vùng nhớ nào thì ngoại vi đó sẽ tự decode "ah, vùng nhớ này thuộc lãnh địa của mình" và lấy data trên bus.
Leave a comment:
-
chào bạn, mình đã sửa dc lỗi, bây giờ thì mình bắt tay vào làm lab "computer oganization" của Altera. Trong phần này, mình có thắc mắc :
- core Nios khá đơn giản : cpu và ram (32K) và nothing.....more
_Nhưng phần mềm: mình sẽ đếm số bit1 trong chuỗi bit 1 dài nhất
vd : 1000011110011 --> Kq: 4
_ Thắc mắc như sau: khi viết code = assembly(có sẵn và mình đọc hiểu) thì Ok. Nhưng cuối cùng đề có yêu cầu chuyển sang code C. Và mình lúng túng hẳn, trong Ass thì có thể làm việc với các thanh ghi r4,r7,..... Nhưng C thì sao, dùng biến nào để lưu trữ? v. v . Mong bạn chỉ giáo
-Nếu có thể, bạn cho mình hỏi System Base Address là gì? Cái này gán tự động nhưng mình muốn biết thêm về nó. Thanks
Leave a comment:
-
Về system.h ... cách 1 bạn thử copy nó bỏ chung vô cùng 1 folder với file .c, cách 2 trong NIOS EDK --> Project --> Properties-->C++ Include path, add thư mục chứa file system.h vào.
Về ModelSim, không biết tại sao không thấy file.v ... theo kinh nghiệm thì ModelSIM hơi user-unfriendly hay còn gọi là hơi ngu ... mình chưa mô phỏng verilog nên không chắc ... tạo project MODELSIM ngay trong cái thư mục chính thử để cho mấy file đó nằm cùng 1 chỗ.
Leave a comment:
-
bản web 9.1 có tích hợp thư viện IP, trong đó có Nios processor, tất cả bản Nios, Modelsim mình đều xài free theo altera cho version 9.1 , nên mình nghĩ là tương thích hoàn toàn
_Nhưng dù sao, nếu ko dc, có thể mình sẽ cài lại bản quartus 7.2 *****, nhưng nếu cài lại bản này, mình sẽ ko có soft modelsim tương ứng ( mình từng down free từ trang modelsim nhưng ko bik vì lý do gì mà cài ko dc, nên mình mới chuyển qua down ở trang Altera). Nếu bạn có modelsim xài dc cho bản ***** Quartus 7.2 thì share mình, mình sẽ thử lại

Nó báo kô mở dc các file ......., nhưng tất cả các file đó mình đã add cả vào project của quartus lẫn project của Modelsim hết rồi
Trong Nios II, Mình cũng bik nó báo ko đủ RAM nhưng ko bik tại sao
"2. Bạn coi lại các đường dẫn." ---> bạn nói rõ hơn điLast edited by phuongdua; 20-03-2010, 11:42.
Leave a comment:
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi thuaimiVẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....-
Channel: Tâm tình dân kỹ thuật
26-10-2026, 16:33 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
25-10-2026, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
25-10-2026, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
24-10-2026, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
24-10-2026, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
Leave a comment: