Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
7aff3df8
D
Docs
项目概览
OpenHarmony
/
Docs
12 个月 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7aff3df8
编写于
4月 14, 2022
作者:
D
duangavin123
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
上传英文
Signed-off-by:
N
duangavin123
<
duanxichao@huawei.com
>
上级
2569f4fc
变更
8
展开全部
隐藏空白更改
内联
并排
Showing
8 changed file
with
1023 addition
and
531 deletion
+1023
-531
en/device-dev/driver/driver-platform-mipicsi-develop.md
en/device-dev/driver/driver-platform-mipicsi-develop.md
+503
-0
en/device-dev/subsystems/Readme-EN.md
en/device-dev/subsystems/Readme-EN.md
+1
-0
en/device-dev/subsystems/subsys-toolchain-hiperf.md
en/device-dev/subsystems/subsys-toolchain-hiperf.md
+519
-0
zh-cn/device-dev/faqs/faqs-environment-building.md
zh-cn/device-dev/faqs/faqs-environment-building.md
+0
-205
zh-cn/device-dev/faqs/faqs-porting.md
zh-cn/device-dev/faqs/faqs-porting.md
+0
-39
zh-cn/device-dev/faqs/faqs-startup.md
zh-cn/device-dev/faqs/faqs-startup.md
+0
-57
zh-cn/device-dev/faqs/faqs-system-applications.md
zh-cn/device-dev/faqs/faqs-system-applications.md
+0
-211
zh-cn/device-dev/faqs/faqs.md
zh-cn/device-dev/faqs/faqs.md
+0
-19
未找到文件。
en/device-dev/driver/driver-platform-mipicsi-develop.md
0 → 100644
浏览文件 @
7aff3df8
此差异已折叠。
点击以展开。
en/device-dev/subsystems/Readme-EN.md
浏览文件 @
7aff3df8
...
...
@@ -96,4 +96,5 @@
-
[
R&D Tools
](
subsys-toolchain.md
)
-
[
bytrace Usage Guidelines
](
subsys-toolchain-bytrace-guide.md
)
-
[
hdc\_std Usage Guidelines
](
subsys-toolchain-hdc-guide.md
)
-
[
hiperf Usage Guidelines
](
subsys-toolchain-hiperf.md
)
-
[
XTS
](
subsys-xts-guide.md
)
\ No newline at end of file
en/device-dev/subsystems/subsys-toolchain-hiperf.md
0 → 100644
浏览文件 @
7aff3df8
此差异已折叠。
点击以展开。
zh-cn/device-dev/faqs/faqs-environment-building.md
已删除
100644 → 0
浏览文件 @
2569f4fc
# 环境搭建常见问题
## 轻量和小型系统
### hb安装过程中出现乱码、段错误
-
**现象描述**
执行“python3 -m pip install --user ohos-build”出现乱码、段错误(segmentation fault)。
-
**可能原因**
pip版本过低。
-
**解决办法**
执行如下命令升级pip。
```
python3 -m pip install -U pip
```
### hb安装过程中提示"cannot import 'sysconfig' from 'distutils'"
-
**现象描述**
执行“python3 -m pip install --user ohos-build”提示"cannot import 'sysconfig' from 'distutils'"
-
**可能原因**
缺少distutils模块。
-
**解决办法**
执行如下命令安装。
```
sudo apt-get install python3.8-distutils
```
### hb安装过程中提示"module 'platform' has no attribute 'linux_distribution'"
-
**现象描述**
执行“python3 -m pip install --user ohos-build”提示"module 'platform' has no attribute 'linux_distribution'"
-
**可能原因**
python3 pip安装兼容性问题。
-
**解决办法**
执行如下命令重新安装pip。
```
sudo apt remove python3-pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
```
### hb安装过程中提示"Could not find a version that satisfies the requirement ohos-build"
-
**现象描述**
执行“python3 -m pip install --user ohos-build”提示"Could not find a version that satisfies the requirement ohos-build"
-
**可能原因**
可能是网络环境较差导致的安装失败。
-
**解决办法**
1.
请检查网络连接是否正常。如果网络有问题,请修复网络问题后重新安装。
2.
若网络正常,请尝试指定临时pypi源的方式安装:
```
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ohos-build
```
### 安装python3过程中,提示“configure: error: no acceptable C compiler found in $PATH”
-
**现象描述**
安装python3过程中出现以下错误:
```
configure: error: no acceptable C compiler found in $PATH. See 'config.log' for more details
```
-
**可能原因**
环境中未安装“gcc”。
-
**解决办法**
1.
通过命令“apt-get install gcc”在线安装。
2.
完成后,重新安装python3。
### 安装python3过程中,提示“-bash: make: command not found”
-
**现象描述**
安装python3过程中出现以下错误:
```
-bash: make: command not found
```
-
**可能原因**
环境中未安装“make”。
-
**解决办法**
1.
通过命令“apt-get install make”在线安装。
2.
完成后,重新安装python3。
### 安装python3过程中,提示“zlib not available”
-
**现象描述**
安装python3过程中出现以下错误:
```
zipimport.ZipImportError: can't decompress data; zlib not available
```
-
**可能原因**
环境中未安装“zlib”。
-
**解决办法**
方法1:通过命令“apt-get install zlib”在线安装。
方法2:如果软件源中没有该软件,请从“www.zlib.net”下载版本代码,并离线安装。
!
[
zh-cn_image_0000001198001086
](
figures/zh-cn_image_0000001198001086.png
)
完成下载后,通过以下命令安装:
```
# tar xvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure
# make && make install
```
完成后,重新安装python3。
### 编译构建过程中,提示“No module named 'Crypto'”
-
**现象描述**
编译构建过程中出现以下错误:
```
ModuleNotFoundError: No module named 'Crypto'
```
-
**可能原因**
环境中未安装“Crypto”。
-
**解决办法**
方法1:通过命令“pip3 install Crypto”,在线安装。
方法2:离线安装。
通过网页
[
https://pypi.org/project/pycrypto/#files
](
https://pypi.org/project/pycrypto/#files
)
,下载源码。
!
[
zh-cn_image_0000001251196005
](
figures/zh-cn_image_0000001251196005.png
)
将源码放置在Linux服务器中,解压,并安装“python3 setup.py install”。
完成上述安装后,重新构建。
### 安装kconfiglib时,遇到lsb_release错误
-
**现象描述**
安装kconfiglib过程中遇到如下错误打印:
```
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
```
-
**可能原因**
lsb_release模块基于的python版本与现有python版本不一致。
-
**解决办法**
执行"find / -name lsb_release",找到lsb_release位置并删除,如:"sudo rm -rf /usr/bin/lsb_release"。
### Linux编译服务器终端输入不识别的命令时提示“ImportError: No module named apt_pkg”
-
**现象描述**
Linux编译服务器终端输入不识别的命令时,提示"ImportError: No module named apt_pkg"
-
**可能原因**
python3 apt安装兼容性问题。
-
**解决办法**
执行如下命令重新安装python3-apt。
```
sudo apt-get remove python3-apt
sudo apt-get install python3-apt
```
zh-cn/device-dev/faqs/faqs-porting.md
已删除
100644 → 0
浏览文件 @
2569f4fc
# 移植常见问题<a name="ZH-CN_TOPIC_0000001215769367"></a>
-
[
如何将用户的堆内存挂载进内核
](
#section21471536184914
)
## 如何将用户的堆内存挂载进内核<a name="section21471536184914"></a>
-
内核堆内存配置的相关宏如下,用户可根据实际情况,在target
\_
config.h中配置:
**表 1**
内核堆内存配置相关宏
<a
name=
"zh-cn_topic_0000001153683024_table04172020563"
></a>
<table><thead
align=
"left"
><tr
id=
"zh-cn_topic_0000001153683024_row5462035616"
><th
class=
"cellrowborder"
valign=
"top"
width=
"39.12%"
id=
"mcps1.2.3.1.1"
><p
id=
"zh-cn_topic_0000001153683024_p1456204569"
><a
name=
"zh-cn_topic_0000001153683024_p1456204569"
></a><a
name=
"zh-cn_topic_0000001153683024_p1456204569"
></a>
宏名称
</p>
</th>
<th
class=
"cellrowborder"
valign=
"top"
width=
"60.88%"
id=
"mcps1.2.3.1.2"
><p
id=
"zh-cn_topic_0000001153683024_p19502005618"
><a
name=
"zh-cn_topic_0000001153683024_p19502005618"
></a><a
name=
"zh-cn_topic_0000001153683024_p19502005618"
></a>
描述
</p>
</th>
</tr>
</thead>
<tbody><tr
id=
"zh-cn_topic_0000001153683024_row14522018560"
><td
class=
"cellrowborder"
valign=
"top"
width=
"39.12%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"zh-cn_topic_0000001153683024_p35112025620"
><a
name=
"zh-cn_topic_0000001153683024_p35112025620"
></a><a
name=
"zh-cn_topic_0000001153683024_p35112025620"
></a>
LOSCFG_SYS_EXTERNAL_HEAP
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"60.88%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"zh-cn_topic_0000001153683024_p5127138175710"
><a
name=
"zh-cn_topic_0000001153683024_p5127138175710"
></a><a
name=
"zh-cn_topic_0000001153683024_p5127138175710"
></a>
这个宏决定系统是使用内核的内部堆内存还是用户的堆内存,默认为0(即使用内部的堆内存),大小为0x10000;如果用户需要基于外部的堆内存,那么可以将该宏设置为1。
</p>
</td>
</tr>
<tr
id=
"zh-cn_topic_0000001153683024_row20514209567"
><td
class=
"cellrowborder"
valign=
"top"
width=
"39.12%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"zh-cn_topic_0000001153683024_p5532017563"
><a
name=
"zh-cn_topic_0000001153683024_p5532017563"
></a><a
name=
"zh-cn_topic_0000001153683024_p5532017563"
></a>
LOSCFG_SYS_HEAP_ADDR
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"60.88%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"zh-cn_topic_0000001153683024_p65520125619"
><a
name=
"zh-cn_topic_0000001153683024_p65520125619"
></a><a
name=
"zh-cn_topic_0000001153683024_p65520125619"
></a>
内核堆内存的起始地址。
</p>
</td>
</tr>
<tr
id=
"zh-cn_topic_0000001153683024_row15302929115615"
><td
class=
"cellrowborder"
valign=
"top"
width=
"39.12%"
headers=
"mcps1.2.3.1.1 "
><p
id=
"zh-cn_topic_0000001153683024_p113021529145612"
><a
name=
"zh-cn_topic_0000001153683024_p113021529145612"
></a><a
name=
"zh-cn_topic_0000001153683024_p113021529145612"
></a>
LOSCFG_SYS_HEAP_SIZE
</p>
</td>
<td
class=
"cellrowborder"
valign=
"top"
width=
"60.88%"
headers=
"mcps1.2.3.1.2 "
><p
id=
"zh-cn_topic_0000001153683024_p1030252965619"
><a
name=
"zh-cn_topic_0000001153683024_p1030252965619"
></a><a
name=
"zh-cn_topic_0000001153683024_p1030252965619"
></a>
内核堆内存的大小,即LOSCFG_SYS_HEAP_ADDR指定的内存块大小。
</p>
</td>
</tr>
</tbody>
</table>
-
注意事项:
指定的堆内存范围务必保证没有其他模块使用,避免踩内存,破坏堆内存功能。
zh-cn/device-dev/faqs/faqs-startup.md
已删除
100644 → 0
浏览文件 @
2569f4fc
# 启动恢复常见问题<a name="ZH-CN_TOPIC_0000001215449321"></a>
-
[
系统启动过程中打印“parse failed!”错误后停止启动
](
#section835662214302
)
-
[
系统启动过程未结束就自动重启,如此反复持续
](
#section3857921143117
)
-
[
参数正确的情况下调用SetParameter/GetParameter返回失败
](
#section548818116328
)
## 系统启动过程中打印“parse failed!”错误后停止启动<a name="section835662214302"></a>
**现象描述**
系统启动过程中,打印“
\[
Init
\]
InitReadCfg, parse failed! please check file /etc/init.cfg format.”错误,启动过程停止,如下图所示:
**图 1**
运行报错图
<a
name=
"zh-cn_topic_0000001063231870_fig15217111545118"
></a>
![](
figures/运行报错图.png
"运行报错图"
)
**可能原因**
修改init.cfg文件时,漏掉或多加了逗号或括号等,导致init.cfg文件的json格式被破坏。
**解决办法**
仔细检查init.cfg文件,确保其格式符合json格式要求。
## 系统启动过程未结束就自动重启,如此反复持续<a name="section3857921143117"></a>
**现象描述**
镜像烧写完成后系统启动,启动过程未完成即自动重新启动,如此反复持续。
**可能原因**
被init启动的服务都有一个叫做“importance”的属性(详见
[
第2章表3
](
../subsystems/subsys-boot-init.md
)
描述)。
-
当该属性为0时,表示若当前服务进程退出,init不需要重启单板。
-
当该属性为1时,表示若当前服务进程退出,init需要重启单板。
因此出现上述现象的可能原因:有“importance”属性为1的服务在每次启动的过程中都会退出(可能是进程崩溃或出错自动退出),导致init进程自动重启单板。
**解决办法**
1.
需要通过日志确认崩溃或报错退出的服务,并解决其崩溃/报错的问题,然后重新烧写镜像即可。
2.
也可以将崩溃/报错退出的服务的“importance”属性改为0,然后重新烧写镜像,这样即使其退出,init也不会重启单板。
## 参数正确的情况下调用SetParameter/GetParameter返回失败<a name="section548818116328"></a>
**现象描述**
在各参数正确的情况下调用SetParameter/GetParameter返回失败。
**可能原因**
程序对SetParameter/GetParameter这两个接口做了权限校验,在各参数正确的情况下调用SetParameter/GetParameter返回操作失败,很有可能是调用者的uid大于1000,没有调用权限。
**解决办法**
无需处理
zh-cn/device-dev/faqs/faqs-system-applications.md
已删除
100644 → 0
浏览文件 @
2569f4fc
# 系统应用常见问题<a name="ZH-CN_TOPIC_0000001169690992"></a>
-
[
公共基础库常见问题
](
#section639433461512
)
-
[
1.LiteOS-A内核\(Hi3516、Hi3518平台\)KV存储路径设置错误,导致KV存储运行失败
](
#section16520347131511
)
-
[
视觉应用常见问题
](
#section787718474161
)
-
[
是否存在一个全局变量,所有的页面都可以访问?
](
#section187297991718
)
-
[
如何获取dom中的元素
](
#section1833493719175
)
-
[
如何在页面间传值?
](
#section184283812183
)
-
[
list如何滚动到某个item?
](
#section11897734131811
)
-
[
text支持多行吗?
](
#section5872656121814
)
-
[
为什么控件不显示?
](
#section7397125317107
)
-
[
如何实现页面滑动?
](
#section338794422010
)
-
[
Left、Top为什么不生效?
](
#section2597193611217
)
-
[
动态绑定为什么不生效?
](
#section6939050172115
)
-
[
如何实现相对定位和绝对定位?
](
#section5547311192215
)
-
[
如何控制控件的显示与隐藏?
](
#section16107113352213
)
-
[
使用Margin时,有什么注意事项?
](
#section1524910142314
)
-
[
使用事件订阅时,有什么注意事项?
](
#section1537132012231
)
-
[
使用动态绑定时,有什么注意事项?
](
#section96561452236
)
-
[
swiper loop属性如何生效?
](
#section690166112414
)
-
[
使用数组时,有什么注意事项?
](
#section1554552822414
)
-
[
hdc类问题
](
#section412357182518
)
-
[
hdc\_std连接不到设备
](
#section1965012223257
)
-
[
hdc\_std运行不了
](
#section1157575212515
)
## 公共基础库常见问题<a name="section639433461512"></a>
### 1.LiteOS-A内核\(Hi3516、Hi3518平台\)KV存储路径设置错误,导致KV存储运行失败<a name="section16520347131511"></a>
**现象描述**
LiteOS-A内核
\(
Hi3516、Hi3518平台
\)
直接调用KV存储提供的接口,各参数正常的情况下,编译可执行程序运行失败。
**可能原因**
直接运行编译出的可执行文件,没有将程序基于AbilityKit转换成应用,不能由BMS在应用安装时正确设置应用数据存储路径,导致KV存储运行失败。
**解决办法**
显示调用KV存储的UtilsSetEnv接口,设置数据存储路径。
```
UtilsSetEnv("/storage/com.example.kv");
```
## 视觉应用常见问题<a name="section787718474161"></a>
### 是否存在一个全局变量,所有的页面都可以访问?<a name="section187297991718"></a>
当前框架中不存在所有Page都可以访问的全局变量。
### 如何获取dom中的元素<a name="section1833493719175"></a>
如何获取dom中的元素?
通过ref属性获取dom中的元素,详细示例如下图所示;获取的元素只能使用它的方法,不能改变属性。
```
<!--index.hml-->
<div class="container">
<!--指定组件的ref属性为animator-->
<image-animator class="image-player" ref="ainmator" images="{{images}}" duration="1s" onclick="handleClick"></image-animator>
</div>
/* index.js */
export default {
data: {
images:[
{src:"common/frame1.png"},
{src:"common/frame2.png"},
{src:"common/frame3.png"}
]
},
handleClick(){
//通过$refs属性获取对应的组件,在hml中,组件的ref属性要设置为animator
const animator = this.$refs.animator;
const state = animator.getState();
if(state == "paused"){
animator.resume();
}else if(state == "stopped"){
animator.start();
}else{
animator.pause();
}
}
}
```
### 如何在页面间传值?<a name="section184283812183"></a>
通过router.replace方法中的params参数来传递,参考代码如下:
第一个页面传递数据:
```
router.replace({
uri:'pages/detail/detail', //要跳转的页面uri
params:{transferData:this.data} //传递的数据,数据个数和名称开发者自己定义,
});
```
第二个界面接受数据:
```
onInit(){
const data = this.transferData; //在onInit函数中接受传递的数据
}
```
### list如何滚动到某个item?<a name="section11897734131811"></a>
通过list的scrollTo方法滚动到指定的item,参数是目标item的index。Index参数可以通过scrollend事件获取或者开发者指定。
### text支持多行吗?<a name="section5872656121814"></a>
text支持多行。通过回车键换行或者是不设置text的高度属性,由控件自动根据内容换行。
### 为什么控件不显示?<a name="section7397125317107"></a>
**现象描述**
开发者在hml文件中添加的控件无法显示
**可能原因**
-
未设置width和height值;
-
样式设置错误。
**处理步骤**
\(
1
\)
检查是否设置width和height值,组件必须显式设置width和height值;
\(
2
\)
检查组件的样式设置是否正确。
### 如何实现页面滑动?<a name="section338794422010"></a>
实现页面滑动目前有三种方式:scroll(根组件大小超过屏幕的大小即自动实现scroll效果)、list、swiper。开发者可以参考开发文档查看三者的区别,并加以使用。
### Left、Top为什么不生效?<a name="section2597193611217"></a>
除根节点外,Left、Top配合Stack组件使用才有效果。
### 动态绑定为什么不生效?<a name="section6939050172115"></a>
在进行绑定时,必须先将要绑定的对象或者对象的属性进行定义,不能先绑定后定义
### 如何实现相对定位和绝对定位?<a name="section5547311192215"></a>
使用div、stack(top left属性)来实现相对和绝对定位。
### 如何控制控件的显示与隐藏?<a name="section16107113352213"></a>
通过display、show和if来控制控件的显示与隐藏。区别在于:if为false时,组件会从VDOM中移除,而show仅是渲染时不可见,组件依然存在于VDOM中。
### 使用Margin时,有什么注意事项?<a name="section1524910142314"></a>
Stack组件不支持其子组件设置margin属性。
### 使用事件订阅时,有什么注意事项?<a name="section1537132012231"></a>
在应用运行期间只存在一个page,所以router.replace跳转是先销毁前一个页面,然后在新创建一个界面。因此,如果涉及到事件订阅的页面,每次页面创建时要进行事件订阅,跳转离开界面前取消事件订阅。
### 使用动态绑定时,有什么注意事项?<a name="section96561452236"></a>
过多的动态绑定会消耗较多的内存,若非业务需要,尽量不要使用太多的动态绑定。
### swiper loop属性如何生效?<a name="section690166112414"></a>
去掉第一个组件或者去掉最后一个组件,剩余的长度大于swiper长度,loop生效。
### 使用数组时,有什么注意事项?<a name="section1554552822414"></a>
数组元素不宜过多,尽量避免对大数组进行频繁操作。
## hdc类问题<a name="section412357182518"></a>
### hdc\_std连接不到设备<a name="section1965012223257"></a>
-
**现象描述**
执行 "hdc\_std list targets"命令后结果为:\[Empty\]
-
**解决方法**
1.
设备没有被识别:
在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要插拔设备,或者烧写最新的镜像。
2. hdc\_std工作异常:
可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。
3. hdc\_std与设备不匹配:
如果设备烧写的是最新镜像,hdc\_std也需要使用最新版本。由于hdc\_std会持续更新,请从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录。
### hdc\_std运行不了<a name="section1157575212515"></a>
-
**现象描述**
点击hdc\_std.exe文件无法运行。
-
**解决方法**
hdc\_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc\_std命令直接使用。
zh-cn/device-dev/faqs/faqs.md
已删除
100644 → 0
浏览文件 @
2569f4fc
# FAQ
-
**[常见问题概述](faqs-overview.md)**
-
**[环境搭建常见问题](faqs-environment-building.md)**
-
**[编译构建子系统常见问题](faqs-building.md)**
-
**[烧录常见问题](faqs-burning.md)**
-
**[内核常见问题](faqs-kernel.md)**
-
**[移植常见问题](faqs-transplant.md)**
-
**[启动恢复常见问题](faqs-init.md)**
-
**[系统应用常见问题](faqs-system-using.md)**
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录