|
Tài trợ cho PIC Vietnam |
PIC32 - Bộ điều khiển tín hiệu số 32-bit Microchip công bố sản phẩm vi xử lý 32-bit ngày 06/11/2007 |
|
Ðiều Chỉnh | Xếp Bài |
10-02-2008, 03:57 PM | #1 |
PIC Bang chủ
|
MIPS và PIC32
Mở ra luồng này để bạn nào thích nghiên cứu cùng với F về ASM thì ta cùng chơi cho vui.
Bộ công cụ mô phỏng cho MIPS 32 có thể download tại đây: http://courses.missouristate.edu/Ken.../MARS/Mars.jar Nó là chương trình chạy trên nền Java, cho nên các bạn cần phải cài sẵn java trên máy. Các bạn cũng có thể download tại đây: http://java.sun.com/javase/downloads/index.jsp Còn đây là một chương trình viết bằng ASM, các bạn có thể download về và chạy thử http://courses.missouristate.edu/Ken.../Fibonacci.asm Code:
# Compute first twelve Fibonacci numbers and put in array, then print .data fibs: .word 0 : 12 # "array" of 12 words to contain fib values size: .word 12 # size of "array" .text la $t0, fibs # load address of array la $t5, size # load address of size variable lw $t5, 0($t5) # load array size li $t2, 1 # 1 is first and second Fib. number add.d $f0, $f2, $f4 sw $t2, 0($t0) # F[0] = 1 sw $t2, 4($t0) # F[1] = F[0] = 1 addi $t1, $t5, -2 # Counter for loop, will execute (size-2) times loop: lw $t3, 0($t0) # Get value from array F[n] lw $t4, 4($t0) # Get value from array F[n+1] add $t2, $t3, $t4 # $t2 = F[n] + F[n+1] sw $t2, 8($t0) # Store F[n+2] = F[n] + F[n+1] in array addi $t0, $t0, 4 # increment address of Fib. number source addi $t1, $t1, -1 # decrement loop counter bgtz $t1, loop # repeat if not finished yet. la $a0, fibs # first argument for print (array) add $a1, $zero, $t5 # second argument for print (size) jal print # call print routine. li $v0, 10 # system call for exit syscall # we are out of here. ######### routine to print the numbers on one line. .data space:.asciiz " " # space to insert between numbers head: .asciiz "The Fibonacci numbers are:\n" .text print:add $t0, $zero, $a0 # starting address of array add $t1, $zero, $a1 # initialize loop counter to array size la $a0, head # load address of print heading li $v0, 4 # specify Print String service syscall # print heading out: lw $a0, 0($t0) # load fibonacci number for syscall li $v0, 1 # specify Print Integer service syscall # print fibonacci number la $a0, space # load address of spacer for syscall li $v0, 4 # specify Print String service syscall # output string addi $t0, $t0, 4 # increment address addi $t1, $t1, -1 # decrement loop counter bgtz $t1, out # repeat if not finished jr $ra # return Bản chất PIC32 chỉ là một sự phát triển thiết kế "thông minh" mà Microchip đã vận dụng từ những kinh nghiệm thiết kế và phát triển thị trường của mình. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
13-02-2008, 05:39 PM | #2 |
PIC Bang chủ
|
Một phần mềm hữu ích khác để làm việc với MIPS là SPIM.
F chưa thử sử dụng phần mềm này, nhưng rất nhiều bài báo trên thế giới tham khảo và sử dụng phần mềm này. Một lúc nào đấy có thể chúng ta sẽ thử cùng nghịch phần mềm này xem sao. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
24-09-2010, 06:13 PM | #3 |
Đệ tử 5 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
: |
Hãy bắt đầu từ MIPS32
Cách tiếp cận PIC32 cơ bản là xuất phát từ MIPS32 architecture và MIPS32 M4K core. Ngoài ra xin cung cấp tài liệu đánh giá khả năng của M4K trong các ứng dụng xử lý tín hiệu số (DSP), có so sánh với "đối thủ" là ARM7 và Cortex-M3.
__________________
Vì sao nên đọc tài liệu tiếng Anh? http://www.picvietnam.com/forum/showthread.php?t=6819 Nguồn xung các loại: www.semitech.vn |
27-09-2010, 05:20 PM | #4 |
Đệ tử 5 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
: |
Bạn nào am hiểu về DSP có thể giải thích giùm: overhead và loop-overhead trong các ứng dụng DSP được không. Thank.
__________________
Vì sao nên đọc tài liệu tiếng Anh? http://www.picvietnam.com/forum/showthread.php?t=6819 Nguồn xung các loại: www.semitech.vn |
|
|