2010-02-05 16 views

Trả lời

23

Nếu bạn có nghĩa là từ đầu: nó chắc chắn sẽ là có thể. Nhưng nó đòi hỏi rất nhiều nguồn nhân lực :-). Các nhà sản xuất điện thoại di động thường có hàng trăm lập trình viên, nhưng bản SW nó thường chứa đầy lỗi :-).

điều Đơn giản hóa bạn có thể nói rằng có hai mô-đun thường SW trong một chiếc điện thoại di động:

  • Các "hệ điều hành giao diện người dùng" mà xử lý màn hình, âm thanh và người dùng nhập vào.
  • "Hệ điều hành Baseband" xử lý giao tiếp với mạng di động.

Hệ điều hành giao diện người dùng có thể là ví dụ Linux hoặc đơn giản hơn. Một hạt nhân Linux vanilla có thể dễ dàng chạy trên hầu hết các điện thoại di động hiện đại.

Phần thứ hai là hệ điều hành cơ sở. Phần này thường đòi hỏi các thuộc tính thời gian thực để có thể xử lý giao tiếp với mạng di động vì thời gian cần phải chính xác khi gửi dữ liệu trong các "khoảng thời gian" cụ thể.

Chỉ có một lần đánh bắt: bạn cần tìm "điện thoại di động phần cứng mở" để đặt hệ điều hành. Các nhà khai thác viễn thông thường yêu cầu các biện pháp bảo mật nghiêm ngặt trên điện thoại ngày nay vì vậy rất khó để lập trình hệ điều hành của riêng bạn trên điện thoại trên thị trường. Ngoài ra, bạn sẽ cần truy cập vào sơ đồ mạch bảng, chi tiết chip và như vậy, mà sẽ không xảy ra :-).

Một ý tưởng có thể là OpenMoko là "dự án điện thoại mở": http://wiki.openmoko.org/wiki/Main_Page hoặc dự án Google Android.

Ngoài ra, CPU: s được sử dụng trong điện thoại ngày nay, chẳng hạn như TI OMAP, thường có sẵn thông qua Ban phát triển như http://www.igep-platform.com/index.php?option=com_content&view=article&id=46&Itemid=55

Điều xuống ở đây là hội đồng quản trị không chứa một chip baseband để xử lý thông tin liên lạc đối với mạng di động.

Chỉnh sửa: Giới thiệu về xây dựng và chạy SW cho điện thoại di động. Điều gì xảy ra khi khởi động điện thoại di động phụ thuộc vào nền tảng phần cứng rõ ràng nhưng điều này có thể xảy ra (điều này cũng đúng đối với hầu hết các hệ thống nhúng):

  1. ASIC (có chứa CPU) khởi động, tự reset và bắt đầu thực hiện một dây đeo khởi động (được mã hóa cứng vào ASIC).
  2. Dây đeo khởi động cố gắng thiết lập các chip flash được kết nối với ASIC.
  3. Dây đeo khởi động tải SW từ flash vào SRAM của chip (RAM tích hợp trên silicon ASIC).
  4. SW trong SRAM thiết lập SDRAM (timings et c) và tải "OS" (hoặc bất kỳ SW bạn muốn) vào SDRAM từ flash.
  5. SW trong SRAM đặt con trỏ chỉ lệnh bên trong trong CPU vào SDRAM và do đó lõi CPU của ASIC bắt đầu thực hiện trong SDRAM.
  6. SW trong SDRAM ("Hệ điều hành") thiết lập bộ hẹn giờ, ngắt, quản lý bộ nhớ hoặc bất cứ điều gì là cần thiết.
  7. SW có thể là bất cứ điều gì, vòng lặp không giới hạn, hệ điều hành toàn diện hoặc chỉ là một SW kéo một số đèn LED của hi hoặc thấp.

Nếu ASIC sẽ có đèn flash NOR, nó có thể thực thi trực tiếp mà không cần tải lên SW vào SDRAM.

Hệ điều hành trong SDRAM có thể là hạt nhân vanilla Linux. Điều duy nhất mà hạt nhân Linux cần là một vài khối thông tin như kích thước bộ nhớ, vị trí vật lý của bộ nhớ đó và vân vân (một cách là sử dụng danh sách ATAG). Tất nhiên nó cũng sẽ cần phải biết một số nội bộ của ASIC, điều này sẽ được thêm vào hạt nhân Linux. Nhưng hầu hết các chip trên thị trường hiện nay đều tồn tại trong nhân Linux. Ví dụ, Nokia đã đóng góp rất nhiều mã cho sự thích ứng TI OMAP3430 và điều này có thể được nhìn thấy trong chính mã nguồn hạt nhân (arch/directory hoặc tương tự). Tôi không chắc chắn điện thoại nào của Nokia sử dụng chip này, nhưng nó có thể là điện thoại Linux và Symbian cao cấp.

Đưa ra câu trả lời chi tiết hơn so với ở trên sẽ yêu cầu một vài trang, do đó, tốt nhất bạn nên sử dụng câu trả lời bạn nhận được trên SO và cố gắng sử dụng câu trả lời đó để biết thêm thông tin từ nơi khác.

Chúc may mắn :-)

4

Tôi nghĩ rằng điều đó sẽ gây khó khăn cho chính bạn và không có thông tin chi tiết về các thiết bị bạn muốn chạy trên đó. Nhưng nếu bạn vẫn muốn thử ...

Symbian have just open sourced toàn bộ hệ điều hành di động của họ. Đó có thể là một nơi tốt để bắt đầu.

4

Android cũng là nguồn mở, nếu bạn không muốn bắt đầu từ đầu. Nếu không, bạn sẽ cần phải tìm tài liệu cho kiến ​​trúc của điện thoại. Bạn có một điện thoại cụ thể trong tâm trí?

1

Hy vọng rằng đây là chi tiết Phantom và ít Phantom Menace (badoom-tish) nhưng người này đang viết hệ điều hành di động riêng của họ và bạn có thể tìm thấy những trang web thú vị.

Các vấn đề liên quan