今天作软硬件共同设计的Lab,将CPU设计好后,烧进Altera的Cyclone II芯片中,用以下简单的C语言程序测试CPU是否设计成功。
1 #define Switch_pio (volatile char *) 0x0000800 2 #define LED_pio (char *) 0x0000810 3 4 void main() { 5 while (1)6 *LED_pio = *Switch_pio;7} 8 9
Switch_pio为pointer,纪录Switch目前数据的内存地址。 LED_pio也是pointer,纪录LED目前数据的内存地址。 在一个无穷回圈中,不断的将Switch_ pio中内存地址的数据送到LED_pio中内存的的地址,所以当Switch为ON时,LED就会亮,Switch为OFF时,LED就会暗。 所以光C语言能直接从内存地址抓值,让硬件数据互传,就让其它语言全部倒地了。 所以C语言真的不会死,可以再红100年没问题。