Chào mọi người
Hôm nọ tự nhiên ngồi đọc lại về cơ chế boot của một máy tính, em có một vài thắc mắc mà tự mình thấy mơ hồ. Mong mọi người chỉ giáo, em sẽ tiếp thu trên tinh thần học hỏi:
1. Một hệ thống gồm ROM, RAM , Flash và CPU thì em biết CODE sẽ lưu trên flash, chỉ có điều em thắc mắc là ngay khi bật nguồn lệnh đầu tiên được thực thi là nằm trên ROM hay Flash. Em tìm hiều thì các vi điều khiển có cái bootloader nhỏ nẳm trong ROM,vậy thì có phải vi điều khiển nào cũng có cái này và nó sẽ chạy đầu tiên không và nó chạy như thế nào. CODE trên Flash ( bộ nhớ lệnh ) sẽ được đọc trực tiếp vào CPU ( qua cache) hay sẽ phải nhờ bootloader load lên RAM rồi mới thực thi.
2. PC không có kiểu bộ nhớ FLash như 1 vi điều khiển, chương trình cần chạy nằm trên ổ đĩa cứng thì nó được load lên ram và nạp lệnh vào CPU đúng không ạ.
3.VD vi điều khiển CortexM3 thì khi nào cần dùng bootloader khi nào không
Em xin cảm ơn
Hôm nọ tự nhiên ngồi đọc lại về cơ chế boot của một máy tính, em có một vài thắc mắc mà tự mình thấy mơ hồ. Mong mọi người chỉ giáo, em sẽ tiếp thu trên tinh thần học hỏi:
1. Một hệ thống gồm ROM, RAM , Flash và CPU thì em biết CODE sẽ lưu trên flash, chỉ có điều em thắc mắc là ngay khi bật nguồn lệnh đầu tiên được thực thi là nằm trên ROM hay Flash. Em tìm hiều thì các vi điều khiển có cái bootloader nhỏ nẳm trong ROM,vậy thì có phải vi điều khiển nào cũng có cái này và nó sẽ chạy đầu tiên không và nó chạy như thế nào. CODE trên Flash ( bộ nhớ lệnh ) sẽ được đọc trực tiếp vào CPU ( qua cache) hay sẽ phải nhờ bootloader load lên RAM rồi mới thực thi.
2. PC không có kiểu bộ nhớ FLash như 1 vi điều khiển, chương trình cần chạy nằm trên ổ đĩa cứng thì nó được load lên ram và nạp lệnh vào CPU đúng không ạ.
3.VD vi điều khiển CortexM3 thì khi nào cần dùng bootloader khi nào không
Em xin cảm ơn
Comment