深入分析FreeDos -- 引导代码

好了,下面开始分析boot.bin了,放置在软盘的前512字节中。

如何判断一个软盘是引导软盘呢? 这个任务是交给在BIOS的。

BIOS会读取软盘的前512字节,如果第511个,512个字节的内容为0x55AA,就认定这是个引导软盘,将这512字节放置在内存0x7c00处,并跳转执行。

X86 PC模拟器JPC的使用

PC,类似于Bochs,采用Java语言编写。O’reilly的《Beautiful Architecture》一书中对其有详细介绍。

不仅可以用JPC来调试操作系统,还可以研究它的代码,学习如何将一个复杂的计算机硬件系统分解成一个个小模块,组装起来。

DOS编程:DPMI保护模式接口原理与实现

前言

本文使用通俗易懂的表述,深入浅出地介绍DPMI和DOS Extender(以DOS/4GW为例)的理论和基本使用技术,旨在让对DPMI不太了解的程序员能了解DPMI在C语言中的实现方法。限于本人水平及资料匮乏,文中难免存在不当之处,望各位读者不吝赐教。

DOS工控开发之浅谈DOS扩展器和DPMI与DOS程序开发

需求

在做 电火花线切割机 WEDM项目的时候,用windows系统做的软件运行一段时间后,总会有误差,误差的来源是由于windows的多任务长时间积累变得越来越大,线切割机这种精密的设备,误差控制严格,现在市面上很多机器用的是windows或者linux的,误差问题从底层基本上没办法避免,为什么不用类似DOS这样子的系统做底层,这样子就解决了误差问题。

LVGL圆弧Arc

圆弧由背景和前景弧组成,通过lv_arc_create创建。

1
2
lv_obj_t *obj1 = lv_arc_create(lv_scr_act());
lv_obj_align(obj1, LV_ALIGN_TOP_LEFT, 10, 10);

1. Parts

圆弧的部件包括LV_PART_MAIN,LV_PART_INDICATOR,LV_PART_KNOB。

用NXP开发的Gui-Guider来做LVGL界面

什么是GUI-Guider?

GUI Guider是恩智浦为LVGL开发了一个上位机GUI设计工具,可以通过拖放控件的方式设计LVGL GUI页面,加速GUI的设计。设计完成的GUI页面可以在PC上仿真运行,确认设计完毕之后可以生成C代码,再整合到MCU项目中。

MSP432简介

一、MSP432系列MCU简介

MSP432是TI的MSP430家族新增加的32位产品系列,采用ARM-CortexM4F内核,专注于低功耗和通用微控制器领域。在低功耗和高性能以及增强型外设方面均有突出表现。

Vditor自定义上传图片

场景流程

前端上传一张图片到服务端,服务端返回图片链接,前端进行展示。

官方文档

https://github.com/Vanessa219/vditor

1、服务端接口一次只接受一张图片

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
upload: {
        url: '/api/uploadFile', // 上传url
        accept: 'image/jpeg,image/png,image/gif,image/jpg,image/bmp', // 图片格式
        max: 2 * 1024 * 1024,  // 控制大小
        multiple: false, // 是否允许批量上传
        fieldName: 'file', // 上传字段名称
        // 文件名安全处理
        filename(name) {
          return name
            .replace(/[^(a-zA-Z0-9\u4e00-\u9fa5\.)]/g, '')
            .replace(/[\?\\/:|<>\*\[\]\(\)\$%\{\}@~]/g, '')
            .replace('/\\s/g', '');
        },
        // 数据转换
        format(files, responseText) {
          const res = JSON.parse(responseText);
          const name = files[0].name;
          const url = res.uplaodRes;
          const result = JSON.stringify({
            code: 0,
            data: { errFiles: '', succMap: { [name]: url } },
          });
          return result;
        },
      },

2、需要允许同时上传多张图片

(说明:此处服务端接口没有做修改,只能遍历上传)