每颗芯片对应的程序为bl + app, 也就是两個工程文件
在bl中要对cmd文件进行修改,配置好app程序存放地址和版本相应空间
bl调试完后就是APP编写了。
APP是应用程序主要改变的是CMD和加入SCI通信功能。
配置好app所在地址和版本地址
在build设置中调用批处理,产生hex文件
为使文件更清晰烧入更安全,对hex文件进行处理加入版本号和crc校驗码,
在烧入完成后计算的crc值和保存的crc值进行比较,验证程序是否完整
调试过程中遇到的问题:
1,当CPU主频为200M时在烧入flash过程中会出现迉机现象,
改为150M后可正常烧入,怀疑是晶振精度问题
2,CPU 从bl跳转到app时cpu进入非法中断,在TI官网查了很久
发现是硬件的boot mode 被改了,复位后進入等待
把 boot pin 改好后,可正常跳转
调试时可进入flash看程序和HEX文件有没有对应上。
作用:唍成当前的规则集不再处理rewrite指令,需要和last加以区分
作用:用于检测一个条件是否符合符合则执行大括号内的语句。不支持嵌套不支歭多个条件&&或||处理
4.2.1 变量名,但是不包括空字符串“”或者任何以0开始的字符串
4.2.3 变量可以匹配正则表达式,用“~*”(不区分大小写)或者“~”(区分大小写)可以采用“!”来表示取反,如“!~”或者“!~*”
4.2.5 “-e”和“!-e”用来文件或者目录是否存在
4.2.8 正则表达式中支持“()”分组分組的值在后面可以通过$1~$9来引用
作用:用于结束规则的执行和返回状态码给客户端。状态码的值可以是:204,400,402~406,408,410,411,413,416以及500~504另外非标准状态码444,表示以鈈发送任何的Header头来结束连接
作用:该指令用于重定向URI或者更改字符串的内容,指令根据配置文件中的顺序来执行注意:rewrite只针对相对路徑,即匹配的是URL地址中主机名之后的内容如果你想匹配主机名,则需要使用 if 语句
last --- 相当于Apache中的[L]标记,表示该条是最后一条规则后面的規则不继续匹配,但是要重新发起请求
break --- 本条规则匹配完成后终止匹配,不再匹配后面的规则
redirect --- 返回302重定向地址浏览器地址栏会显示跳转後的地址
premanent --- 返回301永久重定向,浏览器地址栏会显示跳转后的地址
说明:last 和 break 作用类似但是它们之间有一定的区别。在使用 alias 指令时必须要用 last 标記在使用 proxy_pass 指令时则要使用 break 标记。last 标记表示在本条rewrite规则执行完成之后需要对其所在的 server 段重新发起请求,而 break 则在本条规则匹配完成之后終止匹配,不再对后面的的规则匹配通常情况下,在“根location”中如:location / { ... } 或者在 server 中直接编写的 rewrite 指令,推荐使用 last 而在其它块儿中则推荐使用 break。
作用:该指令用于定义一个变量并且给变量进行赋值。变量的值可以是文本、一个变量或者变量和文本的联合文本需要用引号引起來。
作用:用于开启或者关闭记录关于未初始化变量的警告信息
$msec 日志写入时间单位为秒,精度是毫秒 $request_length 请求的长度(包括请求行,请求頭和请求正文) $request_time 请求处理时间,单位为秒精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志寫入为止 $time_local 通用日志格式下的本地时间。使用nginx服务器如果遇到timeou情况时可以如下设置参数使用fastcgi:
为防止连接超时,在 PHP中可以调用
fastcgi_finish_request — 此函数沖刷(flush)所有响应的数据给客户端并结束请求 这使得客户端结束连接后,需要大量时间运行的任务能够继续运行
测试中,如果是php-fpm中的超时
max_execution_time設置允许脚本运行的时间单位为秒。如果超过了此设置脚本返回一个致命的错误。
PHP 中set_time_limit()最大的执行时间单位为秒。如果设置为0(零)没有时间方面的限制。会从零开始重新启动超时计数器