(前提声明:本人刚刚接触ARM,正在研究LPC2104开发板,如果问题太菜,请多多包涵:)
按照一般操作系统的观点,用户程序不允许直接访问硬件,要想访问硬件必须通过系统调用,由系统操控硬件,这样可以防止用户对硬件的误操作。比如说现在的Windows系统,想要自己编程访问并口的3F8端口就十分麻烦,必须通过驱动程序访问,看EasyJTAG似乎就是用的WinIO的驱动(是不是啊,周工:)
下面是问题: 看LPC2104的资料,有系统模式与用户模式等多种运行模式,也有像SWI这样的系统功能调用机制,可就是没发现就用户模式下访问硬件(比如说定时器,PWM等)有什么保护性的措施,倒是访问状态寄存器十分麻烦,比如说开/关中断(当然,这也是一种系统保护措施)。可用了半天用户模式,除了能防止误关中断,再没有别的什么优点了吗,还是说LPC2104这类工控用的ARM特意的简化了这方面的限制呢? |