我看了下,你说的状态机就是相当于模拟他的时序控制吧?当符合硬件手册里的数据的时候,跳转到下一个状态,比如在flash_sst39lvf160_write_halfword(device/flash/flash_sst39lvf160_write_halfword.c)中,
if (CMD_WORD_PROGRAM(io))这些通过控制bbus[]里的数据来控制具体擦出或者字编程的实现,这里面的时序控制跳转是不是就是你说的状态机的状态转化?但这些是控制它的读写擦出等操作;CPU是怎么和它进行通信的(比如接电后,CPU的第一条指令要去norflash里执行u-boot,完成一些初始化工作和对硬件的检测等工作),这个过程我很模糊,不知道具体在flash模块中体现在哪里?这个问题估计很无知,还望指导,呵呵。谢谢~!