Apps/Explorer:复制标准 app 骨架(main.vp / linker.ld / project.vpj,链接地址 0x400000)。启动流程:open /dev/fb0 → ioctl(FB_GET_INFO) 打几何 → mmap 拿到线性地址 → 等约 2 秒(等内核桌面首屏全量重绘过去)→ 画一条渐变横条验证像素真上屏 → open /dev/input/keyboard|mouse 验证输入设备可达 → 常驻不退出。 vpsdk/devfs.vp(新增 SDK 设备层):设备路径常量(与内核注册名逐字一致)、FB_GET_INFO 与 FbInfo 镜像(packed,与内核同布局)、fb_open/fb_get_info/fb_map/kbd_open/mouse_open。 build.py:把 Explorer 加进 required_apps 清单与完整构建分支;内核 main.vp 在四个 app 之后 spawn /APPS/explorer.elf。内核 desktop 与 explorer 并存属迁移中间态,S3 会把窗口合成整体交出去。
40 lines
534 B
Plaintext
40 lines
534 B
Plaintext
ENTRY(__entry)
|
|
|
|
SECTIONS {
|
|
. = 0x400000;
|
|
|
|
.text : {
|
|
__entry = .;
|
|
*(.text.startup)
|
|
*(.text)
|
|
*(.text.*)
|
|
}
|
|
|
|
.rodata : {
|
|
*(.rodata)
|
|
*(.rodata.*)
|
|
}
|
|
|
|
.data : {
|
|
*(.data)
|
|
*(.data.*)
|
|
}
|
|
|
|
.bss : {
|
|
__bss_start = .;
|
|
*(.bss)
|
|
*(.bss.*)
|
|
__bss_end = .;
|
|
}
|
|
|
|
/DISCARD/ : {
|
|
*(.comment)
|
|
*(.note)
|
|
*(.eh_frame)
|
|
*(.eh_frame_hdr)
|
|
*(.reloc)
|
|
*(.rela)
|
|
*(.debug*)
|
|
}
|
|
}
|