S5pc100裸板全攻略之SPI

2021-06-07 20:04:40 字數 1898 閱讀 2537

華清遠見嵌入式培訓中心

講師。#include "s5pc100.h"

#include "s5pc100.h"

#include "uart.h"

#define spi0_clk_gate_on (1<<6)

#define max 50

/* flash opcodes. */

#define opcode_wren 0x06 /* write enable */

#define opcode_wrda 0x04 /* write disable */

#define opcode_rdsr 0x05 /* read status register */

#define opcode_wrsr 0x01 /* write status register 1 byte */

#define opcode_norm_read 0x03 /* read data bytes (low frequency) */

#define opcode_fast_read 0x0b /* read data bytes (high frequency) */

#define opcode_pp 0x02 /* page program (up to 256 bytes) */

#define opcode_be_4k 0x20 /* erase 4kib block */

#define opcode_be_32k 0x52 /* erase 32kib block */

#define opcode_chip_erase 0xc7 /* erase whole flash chip */

#define opcode_se 0xd8 /* sector erase (usually 64kib) */

#define opcode_rdid 0x9f /* read jedec id */

/* status register bits. */

#define sr_wip 1 /* write in progress */

#define sr_wel 2 /* write enable latch */

extern void printf(const char *fmt, ...);

void cfg_gpio(void)

void set_clk(void)

void delay(int times)

}void disable_chip(void)

void enable_chip(void)

void soft_reset(void)

void cfg_spi0(void)

void transfer(unsigned char *data, int len)

spi0.chcfg &= ~0x1;

}void receive(unsigned char *buf, int len)

spi0.chcfg &= ~(0x1 << 1);

}void read_id(void)

void erase_sector(int addr)

void erase_chip()

void wait_till_write_finished()

else

}disable_chip();

}void enable_write()

void write_spi(unsigned char *data, int len, int addr)

void read_spi(unsigned char *data, int len, int addr)

int main()

return 0;

}android培訓

3g培訓

qt培訓

物聯網培訓

嵌入式學習

s5pc100開發板linux核心移植

應用於fsc100開發板 交叉編譯工具 arm cortex a8 linux gnueabi gcc linux 2.6.35.tar.bz2 將linux 2.6.35.tar.bz2拷貝到 home linux下並解壓 tar xvf linux 2.6.35.tar.bz2 cd linux...

用s5pc100的GPIO模擬IIC

先來看看lm75硬體的上的連線 其中i2c sda0是資料線,i2c scl0是時鐘線,它們分別接到s5pc100的gpd3和gpd4,如下圖所示 在模擬iic的時候,用gpd3引腳傳送資料或讀取資料,用gpd4引腳提供時鐘訊號即可。由於s5pc100的gpd這一組的引腳很多,不好單獨對其中的某乙個...

S5PC100看門狗定時器

看門狗定時器 wdt,watch dog timer 是微控制器的乙個組成部分,在微控制器程式的除錯和執行中都有著重要的意義。它的主要功能是在發生軟體故障時,通過使器件復位 如果軟體未將器件清零 將微控制器復位。也可以用於將器件從休眠或空閒模式喚醒。看門狗 watchdog 定時器和pwm定時功能目...